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

-[[戻る>サポートについて]]

* 目次 [#j4b6742f]
#contents

*概要 [#yd285f77]
フレームワークはアプリケーションのライフサイクル中、~
継続的にバージョンアップさせていく必要がある。

**バージョンアップ対応 [#r408d0ed]
バージョンアップ対応は随時行っていますが、
*詳細 [#s3683b5e]

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

などは、以下の手順に従って、プロジェクトでTargetFrameworkのバージョンアップを行って下さい。~
(Open棟梁は、VS2005から、VS2008 -> 10 -> 12 -> 13 -> 15とバージョンアップを継続しています)
**[[Open棟梁のバージョンアップ]] [#n16ed5c6]
Open棟梁自体のバージョンのアップの方法

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

**バージョンダウン対応 [#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

***アップグレード・ウィザード [#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]
移行に関する詳細はこちらをご参照下さい。

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

-移行・マイグレーション~
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バージョンアップ~
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