X64モードで実行する必要があるC#アプリケーションがあります。問題は、x64アプリケーションでメソッドを実行する単体テストを作成しようとすると、単体テストプロジェクトがビルドされないことです。ビルドしようとすると、次のエラーが表示されます。
C:.....\bin\x64\Debug .... UnitTests.dllの読み込みエラー:テストコンテナー 'C:.....\bin\x64\Debug .... UnitTests.dllを読み込むことができません'またはその依存関係の1つ。テストプロジェクトアセンブリを64ビットアセンブリとしてビルドすると、ロードできません。テストプロジェクトアセンブリをビルドするときに、プラットフォームに「Any CPU」を選択します。 64ビットプロセッサで64ビットモードでテストを実行するには、[ホスト]タブでテスト設定を変更して、32ビットプロセスでテストを実行する必要があります。エラーの詳細:ファイルまたはアセンブリ 'file:/// C:..... UnitTests\bin\x64\Debug .... UnitTests.dll'またはその依存関係の1つを読み込めませんでした。不正な形式のプログラムをロードしようとしました。
私はユニットテストをx64および任意のCPUに変更しようとしましたが、それでも実行できません。これに対する修正はありますか?
他に言及していないので、Visual Studiosテストフレームワークを使用していると仮定しています。 VS2010では、テストホストを強制的にx64で実行できます。任意のCPUまたはx64としてアセンブリをビルドし、テストホストをx64に設定します。
私は同じ問題、App.configファイルを追加しました
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
</configuration>
同様の問題がありました。 Visual Studio 2010(x64の下)には奇妙な問題があり、新しいプロジェクトを既存のソリューションに追加するとターゲットCPUが変更されます。すべての参照とCPUターゲットがx64であると確信していますか?
関連するすべてのアセンブリをクリーンアップして再構築すると、このエラーを修正できます。 1つのファイルが予期せず破損している必要があります。
VSの改善点の1つは、不正な形式の例外が検出された場合、ファイル名を報告してください。その後、開発者はそのファイルのみを再構築できます。
テストプロジェクトのすべての参照をローカルに設定する必要があります(trueに設定)。私は以前にこの問題を抱えていましたが、あなたにとってもうまくいくことを願っています(Windows 7 64ビット+ VS2012を使用しています)