3

実行時に判断することは可能ですか:

  1. アプリケーションが対象としている .NET フレームワークのバージョンは?

  2. アプリケーションがフレームワークの完全なプロファイルまたはクライアント プロファイルをターゲットにしている場合は?

使用してみEnvironment.Versionましたが、これは非常に不正確な結果をもたらします。同様に、どのプロファイルが使用されているかを判断するための解決策を見つけることができませんでした。

4

1 に答える 1

4

1) アプリケーションが対象としている .NET フレームワークのバージョンは?

.NET アセンブリは、フレームワークの特定のバージョンを対象としています。しかし、ご存じのとおり、.NET 2.0 に対してコンパイルされたアセンブリを CLR 4.0 に読み込むことができます。実行時に、 Environment.Versionプロパティを使用して、アプリケーションをホストするために使用されている CLR のバージョンを知ることができます。

2) アプリケーションがフレームワークの完全なプロファイルまたはクライアント プロファイルをターゲットにしている場合は?

.NET プロファイルは、実行時に決定できるものではありません。Visual Studio でのみ使用され、[参照の追加] ダイアログで一部のアセンブリをグレー表示して、実行時に使用できない可能性のあるアセンブリを参照できないようにします。ちなみに、この概念は .NET 4.5 で削除されました。

于 2012-11-11T23:19:20.173 に答える