「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>バージョンアップ対応]]

* 目次 [#j4b6742f]
#contents

*概要 [#yd285f77]
targetFrameworkのバージョンアップについて。
Open棟梁自体のバージョンのアップの方法~
(targetFrameworkのバージョンアップについて。)

**targetFrameworkのバージョンアップ対応 [#r408d0ed]
targetFrameworkのバージョンアップ対応は随時行っている。

しかし、
-タイミングが合わない場合(リポジトリ上のバージョンアップが遅延している場合)
-案件保有のバージョンを、ユーザ・プログラムと合わせてバージョンアップする場合
-[[汎用認証サイト>汎用認証サイト(Multi-purpose Authentication Site)]]など、複数のVisual Studioバージョンのテンプレートが提要されていない場合。

などは、以下の手順に従って、プロジェクトでtargetFrameworkのバージョンアップを行う。~
(Open棟梁は、VS2005から、VS2008 -> 10 -> 12 -> 13 -> 15 -> 17とバージョンアップを継続している)

なお、ユーザープログラムも同様の手順でバージョンアップが可能だが、~
サードパーティ製コンポーネントなどのサポート状態により移行作業のWBSに変化がある可能性がある。
サードパーティ製コンポーネントなどのサポート状態により移行作業手順に変化がある可能性がある。

**targetFrameworkのバージョンダウン対応 [#t3570843]
なお、バージョンダウンの事例は[[コチラ>net452の追加サポートの件]]を参照。

*手順 [#s81eeae9]

**新しいVisual Studioでソリューション・ファイル(*.sln)を開く [#ucf893fa]

***.NET FrameworkとVisual Studioのバージョン [#a70cef25]
基本的に、

新しいversionの.NET Frameworkがリリースされるタイミングで、~
新しいversionのVisual Studioもリリースされる。
-Visual Studio 2002 : .NET 1.0
-Visual Studio 2003 : .NET 1.1
-Visual Studio 2005 : .NET 2.0
-Visual Studio 2008 : .NET 3.5
-Visual Studio 2010 : .NET 4.0
-Visual Studio 2012 : .NET 4.5
-Visual Studio 2013 : .NET 4.5.1
-Visual Studio 2015 : .NET 4.6
-Visual Studio 2017 : .NET 4.7
-Visual Studio 2013 : .NET 4.5.1 → 4.5.2
-Visual Studio 2015 : .NET 4.6 → 4.6.1 → 4.6.2
-Visual Studio 2017 : .NET 4.7 → 4.7.1 → 4.7.2
-Visual Studio 2019 : .NET 4.8

***アップグレード・ウィザード [#za8d35e4]
新しいVisual Studioで古いソリューション・ファイル(*.sln)を開くと、アップグレード・ウィザードによって、~
自動的に、ソリューション・ファイルやプロジェクト・ファイルが変換(コンバージョン)されることがある。~
(なお、VS2015 ---> VS2017移行時はアップグレード・ウィザードの起動を確認できず)

**targetFrameworkを新しい.NET versionに変更する。 [#q5e85ac1]
***変更方法 [#z7b16093]
プロジェクトのプロパティ画面を開き、targetFrameworkを新しい.NET versionに変更する。~
これにより、app.config、web.config、package.configにも変更が加えられることがある。

-方法: .NET Framework のバージョンをターゲットにする~
https://msdn.microsoft.com/ja-jp/library/bb398202.aspx

***変更されるファイル [#se3beebd]
'*.csprojファイルや、*.vbprojファイルのtargetFrameworkタグを直接書き換えることも可能だが、~
上記のように、app.config、web.config、package.configに必要な変更が加えられる可能性もあるので、注意が必要。~
targetFrameworkタグをGrep( & Replace)することによってtargetFrameworkの変更漏れを確認することが出来る。

**web.configのtargetFrameworkを新しい.NET versionに変更する。 [#r4ed4e82]
web.configのtargetFrameworkを新しい.NET versionに変更する。

例えば、以下のように変更する。

なお、compilationタグのtargetFramework属性は、~
プロジェクトのプロパティを変更すると自動的に変更される。

***net46 [#c32e7476]
 <compilation debug="true" targetFramework="4.6" />
 <httpRuntime targetFramework="4.6" />

***net47 [#h2656923]
 <compilation debug="true" targetFramework="4.7" />
 <httpRuntime targetFramework="4.7" />

***参考 [#b1c829f7]
-asp.net - What do the TargetFramework settings mean in web.config in ASP .NET MVC? - Stack Overflow~
https://stackoverflow.com/questions/40170567/what-do-the-targetframework-settings-mean-in-web-config-in-asp-net-mvc

**package.configのtargetFrameworkを新しい.NET versionに変更する。 [#uf85f972]
package.configのtargetFrameworkを新しい.NET versionに変更する。

例えば、以下のように変更する。

***net46 [#l5c97c1e]
 <package id="Newtonsoft.Json" version="6.0.4" targetFramework="net46" />

***net47 [#f0974365]
 <package id="Newtonsoft.Json" version="6.0.4" targetFramework="net47" />

必要に応じて、バージョン番号(version="x.x.x")の変更も検討する。

**ビルドバッチを実行して、全てのソリューション・ファイルをビルドする。 [#sb1bfb0e]
以下のケースでは対応が必要になる。

***ワーニング [#ycbb739e]
-後方互換の打ち切りの予告のワーニングが発生することがある。
-移行先のAPIを使用するようにコードを変更するか、#pragma warningでワーニングを抑止する。

***ビルドエラー [#z3eb6917]
様々な原因でエラーとなる理由が考えられるが、~

極稀に、APIが削除されたような場合は、~
移行先のAPIを使用するようにコードを変更する必要がある。

**ASP.NETの場合 [#qac45c2f]

***Web.cponfigに変更が入ることがある。 [#pf547b54]
これは、Visual Studioのアップグレード・ウィザードによって自動変換される。

***デプロイ先が変更になることがある。 [#z50a4ca4]
ASP.NET 2.0からASP.NET 4.0への移行では、デプロイ先のアプリケーション・プールのversionが変更になった。

**その他 [#bccdf62a]
-今後のVisual Studio、.NETのリリースによって上記の手順は変更される可能性がある。
-今迄のバージョンアップ実績を振り返りますと、後方互換を重視していると言える。

*参考 [#id857d30]
移行に関する詳細は、以下が参考になる。

**[[NuGetパッケージの作成手順]] [#rad1b467]

**[[Open棟梁のバージョン番号付与ポリシー]] [#zc0ed95c]

**マイクロソフト系技術情報 Wiki [#sf84ec8a]

***移行・マイグレーション [#k3b089b4]
https://techinfoofmicrosofttech.osscons.jp/index.php?%E7%A7%BB%E8%A1%8C%E3%83%BB%E3%83%9E%E3%82%A4%E3%82%B0%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3

***.NETバージョンアップ [#w9aaeb2f]
https://techinfoofmicrosofttech.osscons.jp/index.php?.NET%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%83%E3%83%97


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS