トップ回答者
.NET Framework の版数

質問
-
Windows XP Pro(SP2) 上でVS2005(VB)での開発を行っております。
開発プログラムの現時点での動作環境はWindows XP/Vista/7 です。
(可能であれば以降のOSにも対応させたい)またビルド機にインストールされている.NET Framework は1.0/1.1/2.0/3.0/3.5 です。
テスト環境としてWindows XP Home(SP3) を用意し、.NET Framework の版数について確認したところ、
・1.0/1.1 : エラー(To run this application, you first must install one of the following version of the .NET Framework: v2.0.50727
Contact your application publisher for instructions about obtaining the appropriate version of the .NET Framework. )
・1.0/1.1/2.0 : 正常動作
・1.0/1.1/2.0/4.0 : 正常動作
・1.0/1.1/4.0 : エラー(Unable to find a version of the runtime to run this application.)つまり 「2.0 があれば動作するが、それ以外の版数では動作しない」状況です。
2.0 でも 4.0 でも動作するようなビルド方法はないでしょうか?
回答
-
1.0/1.1 と 2.0 ではランタイムが違います。同様に、2.0 と 4.0 も違います。なので、4.0 向けにビルドする必要があります。
Visual Studio 2005 では .NET Framework 4.0 向けのビルドはできないので、Visual Studio 2010 でビルドすることになります。
Visual Studio 2010 を買うのが一番いいのですが、お金の問題もあるでしょう。Visual Studio 2010 には無料の Express Edition があるので、ライセンスが問題なければ、それを利用してビルドできます。Express Edition のライセンスに違反しそうなら、MSBuild を使うのが最終手段です。
なかむら(http://d.hatena.ne.jp/griefworker) -
簡単にいえば、Visual Studio 2005で作成できるプログラムが使っている.NET Frameworkは.NET Framework 2.0です。
よって、「2.0 があれば動作するが、それ以外の版数では動作しない」は正しい状況です。
そして、.NET Framework 4のみしか入れていないと.NET Framework 2.0をターゲットフレームワークとしたアプリが動かないのも仕様です。一応↓の最後の回答で回避方法がかかれているようですが未確認です。
https://connect.microsoft.com/VisualStudioJapan/feedback/details/499298/net-framework-4-0-beta2-clr1-1-clr2-0?wa=wsignin1.0
http://blogs.wankuma.com/hatsune/
すべての返信
-
1.0/1.1 と 2.0 ではランタイムが違います。同様に、2.0 と 4.0 も違います。なので、4.0 向けにビルドする必要があります。
Visual Studio 2005 では .NET Framework 4.0 向けのビルドはできないので、Visual Studio 2010 でビルドすることになります。
Visual Studio 2010 を買うのが一番いいのですが、お金の問題もあるでしょう。Visual Studio 2010 には無料の Express Edition があるので、ライセンスが問題なければ、それを利用してビルドできます。Express Edition のライセンスに違反しそうなら、MSBuild を使うのが最終手段です。
なかむら(http://d.hatena.ne.jp/griefworker) -
簡単にいえば、Visual Studio 2005で作成できるプログラムが使っている.NET Frameworkは.NET Framework 2.0です。
よって、「2.0 があれば動作するが、それ以外の版数では動作しない」は正しい状況です。
そして、.NET Framework 4のみしか入れていないと.NET Framework 2.0をターゲットフレームワークとしたアプリが動かないのも仕様です。一応↓の最後の回答で回避方法がかかれているようですが未確認です。
https://connect.microsoft.com/VisualStudioJapan/feedback/details/499298/net-framework-4-0-beta2-clr1-1-clr2-0?wa=wsignin1.0
http://blogs.wankuma.com/hatsune/