「Open棟梁 wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
targetFrameworkのバージョンアップについて。
targetFrameworkのバージョンアップ対応は随時行っている。
しかし、
などは、以下の手順に従って、プロジェクトでtargetFrameworkのバージョンアップを行う。
(Open棟梁は、VS2005から、VS2008 -> 10 -> 12 -> 13 -> 15 -> 17とバージョンアップを継続している)
なお、ユーザープログラムも同様の手順でバージョンアップが可能だが、
サードパーティ製コンポーネントなどのサポート状態により移行作業のWBSに変化がある可能性がある。
なお、バージョンダウンの事例はコチラを参照。
基本的に、
新しいversionの.NET Frameworkがリリースされるタイミングで、
新しいversionのVisual Studioもリリースされる。
新しいVisual Studioで古いソリューション・ファイル(*.sln)を開くと、アップグレード・ウィザードによって、
自動的に、ソリューション・ファイルやプロジェクト・ファイルが変換(コンバージョン)されることがある。
(なお、VS2015 ---> VS2017移行時はアップグレード・ウィザードの起動を確認できず)
プロジェクトのプロパティ画面を開き、targetFrameworkを新しい.NET versionに変更する。
これにより、app.config、web.config、package.configにも変更が加えられることがある。
'*.csprojファイルや、*.vbprojファイルのtargetFrameworkタグを直接書き換えることも可能だが、
上記のように、app.config、web.config、package.configに必要な変更が加えられる可能性もあるので、注意が必要。
targetFrameworkタグをGrep( & Replace)することによってtargetFrameworkの変更漏れを確認することが出来る。
web.configのtargetFrameworkを新しい.NET versionに変更する。
例えば、以下のように変更する。
なお、compilationタグのtargetFramework属性は、
プロジェクトのプロパティを変更すると自動的に変更される。
<compilation debug="true" targetFramework="4.6" /> <httpRuntime targetFramework="4.6" />
<compilation debug="true" targetFramework="4.7" /> <httpRuntime targetFramework="4.7" />
package.configのtargetFrameworkを新しい.NET versionに変更する。
例えば、以下のように変更する。
<package id="Newtonsoft.Json" version="6.0.4" targetFramework="net46" />
<package id="Newtonsoft.Json" version="6.0.4" targetFramework="net47" />
必要に応じて、バージョン番号(version="x.x.x")の変更も検討する。
以下のケースでは対応が必要になる。
様々な原因でエラーとなる理由が考えられるが、
極稀に、APIが削除されたような場合は、
移行先のAPIを使用するようにコードを変更する必要がある。
これは、Visual Studioのアップグレード・ウィザードによって自動変換される。
ASP.NET 2.0からASP.NET 4.0への移行では、デプロイ先のアプリケーション・プールのversionが変更になった。
移行に関する詳細は、以下が参考になる。