2

VS2008で構築されたプロジェクトをVS2005に移植しています。これは、マイナーな.NETバージョンが3.5ではなく2.0であり、残りのコードがVS2005で構築されているためです。そこで、.slnファイルでVisualStudioのバージョンを2008年から2005年に変更しました

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005

したがって、.slnをVS2005にロードできます。主に「var」というビルドの問題があり、これらの行を実際のデータ型で変更した後、コードがコンパイルされて実行されます。

ただし、プロジェクトアセンブリリファレンスで。私のコードはまだ.NET3.5からのLinqを参照していることがわかりました。

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\System.Xml.Linq.dll

ダイアログを開いて新しい参照を追加すると、.NETバージョン2.0、3.5、さらには4.0であることがわかりました(ただし、ほとんどの場合、CLRランタイムバージョンは2.0.50727です。1.xの場合もあれば4.0の場合もあります。Linqのランタイムバージョンは2.0.50727です)。

VS2005は.NET2.0のみをサポートしていると思いましたが、ここではそうではないようです。したがって、アプリケーションに.NET2.0フレームワークのみが必要であることを確認するにはどうすればよいでしょうか。.NET 2.0以下の参照のみを参照していることを確認するだけで十分ですか?

4

2 に答える 2

5

ターゲットフレームワークが.NET2.0であり、より高い.NET Frameworkバージョンをターゲットとするライブラリを参照していない限りアプリは.NET2.0で問題なく実行されます。

そうは言っても、Visual Studio 2008はマルチターゲティングをサポートしていると思います。したがって、VS2008を使用できるはずですが、出力タイプとして.NET2.0をターゲットにする必要があります。さらに、VS2010およびVS2012RCは、.NET2.0のみのプロジェクトもサポートします。

タイトルの正確な質問に答えるために(このページをタイトルで見つける人のために)、VisualStudio2005でデフォルトで使用される.NETバージョンは.NETv2.0です。

于 2012-07-26T20:00:15.543 に答える
4

引き続きVS2008を使用できます。VS2008は2.0のみのプロジェクトを完全にサポートします(プロジェクト設定を変更するだけです)。2.0モードの場合、VSは3.0および3.5アセンブリ、および3.0または3.5ライブラリクラスに依存するC#言語機能(拡張メソッドなど)を無効にしますが、2.0で動作させるための回避策があります。

VS2010は2.0のみのプロジェクトもサポートしていると言えます。

于 2012-07-26T20:00:24.140 に答える