1

フレームワーク 4.5 で NUnit を実行しようとしていました (私のマシンには VS2010 と VS2012 がインストールされています)。

そこで、nunit の .exe.config ファイルを編集して、古いアプローチを試しました。

フレームワークのバージョンは 4.5.50709 です。ただし、これは実行時に失敗しました。指定されたバージョンが利用できないと言って、ダウンロードしてインストールするように求めます。

簡単なインターネット チェックでは、レジストリが HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP を検索する場所であることが示されています

4.5 fwk フォルダーはありません。奇妙なことに、フレームワーク 4.5 のインストールを修復しました。まだ同じ。最後に、見つけた 4.0 キーを掘り下げます

InstallPath = %WINDOWS%\Microsoft.Net\Framework64\v4.0.30319
TargetVersion = 4.0.0
Version = 4.5.50709

うーん、4.5 が 4.0 をオーバーライドしたようです。だから私は.exe.configを変更しました

<supportedRuntime version="v4.0.30319" />

これはうまくいきました。Nunit が v4.5 で実行されていることが報告されるようになりました

  • 4.5 がこのようにインストールされるのはなぜですか?
  • 「リダイレクト」しているようです - これは 4.5 がインプレース アップデートだからですか? はいの場合、4.5.50709 を指定しても機能しないのはなぜですか?
4

1 に答える 1

4

.NET 3.0 および 3.5 と同様に、.NET 4.5 はインプレースアップデートです。つまり、元の 4.0 インストールが置き換えられました。CLR のバージョン番号は 4.0 のままで、すべての基本アセンブリも同様です。

したがって、app.exe.config ファイルで 4.0 を選択する必要があります。属性を使用して、より具体的にし、4.5 が存在しない場合にテストの実行を拒否することもできますが、それにはskuほとんど意味がなく、いずれにせよテストは失敗するはずです。

于 2013-01-15T17:12:46.363 に答える