2

このコード行

Environment.Is64BitProcess

アプリが単独で実行されている場合、true と評価されます。

しかし、Visual Studio の単体テストで同じ式を実行すると、false と評価されます。

ソリューション プラットフォームとして「任意の CPU」を選択しました。マシンは 64 ビットです。

どうしてこれなの?

ここに画像の説明を入力

上の画像のように設定しても、Resharper は x86 として実行します

4

1 に答える 1

3

これは基本的に、単体テスト ランナーが 32 ビット プロセスとして起動していることを示しています。構成方法は、使用している単体テスト ランナーによって異なります (多数あります)。

単体テストを実行している場合、アプリケーション アセンブリのアーキテクチャに関する設定は、単体テスト ランナーの構成と比較して無視されます。一方、スタンドアロンを実行している場合は、ビルド構成 (たとえば、「AnyCPU は x86 を優先」または単に"AnyCPU") が該当します。

単体テストを x64 で実行する必要がある場合は、その実行方法を確認する必要があります。VS での実行方法を変更できない場合は、少なくともx64をより簡単にサポートできるスタンドアロンランナー。

于 2015-09-08T14:44:29.563 に答える