「API制限UnittestFramework.dll既にロードされている」エラーを取り除くにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1725210

質問

次のエラーが時々ポップアップします:

C:\Program Files\MSBuild\Microsoft\VisualStudio\v9.0\TeamTest\Microsoft.TeamTest.targets(14,5): error : API restriction: The assembly 'file:///C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll' has already loaded from a different location. It cannot be loaded from a new location within the same appdomain.

どうすればそれを取り除くことができますか?

役に立ちましたか?

解決

  • .csprojファイルを編集します
  • UnittestFrameworkリファレンスの最後にプロセッストarchitecture = msilを削除します。

変化する:

<reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />

に:

<reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  • ビジュアルスタジオを再起動します

他のヒント

TFSビルドサーバーでテストを実行しようとしたときにこのエラーが発生している場合は、TFSビルド定義が使用してテストアセンブリを見つけるパターンを変更する必要がある場合があります。 この郵便受け 問題と解決策について説明します。基本的に、TFSは2つの異なるフォルダーで同じテストアセンブリを見つけており、2回含めることを試みています。これを修正するには:

  1. オープンチームエクスプローラー
  2. プロジェクトのビルドが表示されるまでツリーを拡張します
  3. 問題のビルドを選択します
  4. 右クリック> [ビルド定義の編集
  5. クリック プロセス 左側のサイドバー
  6. 拡張 '2。 BASIC '>自動テスト
  7. クリック 編集
  8. 変更 アセンブリファイルの仕様をテストします パターンのフォルダーの一致を削除するには。たとえば、変更****テスト.dll ** to *test*.dll

マッチパターン(つまり)からフォルダーを削除することにより、2つの異なるフォルダーで見つけた場合でも、テストアセンブリが1回だけ含まれます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top