62

xUnit をテスト プロジェクトに追加したところ (Assert の場合は、まだフレームワークとして MSTest を使用しています)、すぐにテストの実行でテストの実行が拒否されました。これはエラーメッセージです:

テスト実行 '{ .... }' をキューに入れることができませんでした テスト実行の展開の問題: ファイルまたはディレクトリ '...xUnit.dll' の場所は信頼されていません。

4

10 に答える 10

98

Googleで答えを見つけるのに数回の試行が必要だったので、他の誰かが同じ問題に遭遇した場合に備えてここに置いています. 詳細な説明は、このブログ投稿にあります。

基本的に、この修正には、Windows エクスプローラーで dll ファイル (xunit.dll など) を右クリックし、[プロパティ] に移動して、タブの下部にある [セキュリティ] テキストの横にある [ブロック解除] をクリックする必要があります。Vista / Windows 2008 は、他のマシンまたはインターネットからのアセンブリを安全でないと自動的にマークするようです。

いくつかのコメンターが言及しているように、これを有効にするには Visual Studio を再起動する必要がある場合もあります。

于 2008-10-14T14:17:43.943 に答える
17

私のチームでも同じ問題がありました。

あなたの解決策はうまくいきませんでしたが、CharlesSterlingによるこの投稿は役に立ちました。

次の行を使用しました。

caspol -machine -addgroup 1 -url file://\\server/share/* FullTrust -name DevShare
于 2008-12-04T12:04:56.953 に答える
10

この問題が発生し、「ブロック解除」を数分以上続けようとしたり、caspolが役に立たなかったりした後、Google経由で、次にビルドしたときにアセンブリが再びブロックされるというちょっとした情報を見つけました。または、元のソースの場所から再コピーされるため、プロジェクトを再構築します。(これが参照アセンブリで以前に発生したことに気づいたことはなかったと思いますが、とにかく...)

これに対する私の修正は次のとおりでした:

  1. 安全に保管するために、必要なすべてのDLLを別の場所にコピーします

  2. VisualStudioで参照を削除します

  3. binフォルダー内のDLLを物理的に削除します

  4. コピーされた場所でDLLのブロックを個別に解除します

  5. 保持場所からVisualStudioに参照を追加し直します

その後のすべてのビルドまたは再構築は、その後正常に機能しました。

于 2009-02-11T20:59:44.903 に答える
8

XP マシンで実行した場合 (.NET 3.5 SP1 がインストールされている場合でも)、ここにリストされている他のソリューションを動作させることができませんでした。

ただし、Davy Landman が参照しているCharles Sterling による同じ投稿から作業して、最終的にこのバリエーションで成功しました。

  1. .NET 2.0 構成ツールを実行します (設定... コントロール パネル... 管理ツール... .NET Framework 2.0 構成)。
  2. [マイ コンピュータ ... ランタイム セキュリティ ポリシー ... マシン ... コード グループ ... All_Code] をクリックします。
  3. "Zone"="Local Intranet" のメンバーシップ条件で新しいコード グループを作成し、アクセス許可セット "FullTrust" を割り当てます。
  4. Visual Studio を再起動します

これらの手順の後、再起動や再構築後など、テストを実行できます。

編集:この回答で説明されているように、.NET 2.0 構成ツールをシステムにインストールするには、.NET SDK (.NET フレームワークとは異なります) をインストールする必要がある場合があります。

于 2009-12-17T21:06:38.260 に答える
4

moqでも同じ問題がありました。しかし、「ブロックを解除」しません。ブロックを解除するたびにブロックされていた!?!?

ダウンロードした元の zip ファイルのブロックを解除する必要がありました。次に、zip ファイルから DLL を再度コピーします。その後動作します。

于 2010-06-29T03:48:58.233 に答える
3

今では非常に明白に思えるかもしれませんが、ブロック解除をクリックすると、ファイルが読み取り専用に設定されました。

その属性のチェックを外し、適用してから、ブロック解除を選択した後でのみ、実際にこれが機能しました。

試してみてください。

:)

PS: また、Visual Studio が古いものを取得していないことを確認するために、bin フォルダー内の古い dll もすべて削除しました。

于 2011-02-20T11:11:20.810 に答える
1

ダウンロードした DLL が Vista によってブロックされるという同じ問題がありました。ファイルのプロパティの [ブロック解除] ボタンを取得するには、管理者権限が必要です。以前にコミットしたソース管理 (TFS)からDLL を最新バージョンに置き換えただけです。

于 2009-07-30T12:58:58.247 に答える
1
  • に行くfile
  • 右クリックして選択Properties
  • 最初の登録で、Allow
于 2012-09-19T15:39:53.650 に答える
0

ブロックを解除する必要があるのは、moq.dllだけではありません。最新のzipファイルにはmoq.xmlファイルとmoq.pdbファイルが含まれています。dllを参照すると、これらの他の2つのファイルもbinフォルダーにコピーされます。3つすべてのブロックが解除されていない場合、テストは実行されないことがわかりました。

于 2011-08-24T10:52:15.500 に答える
0

また、notepad++でファイルを開いて名前を変更してみました。少し異なるアプローチですが、それは私にとってはうまくいきました。ローカルファイルシステムは、同じマシンからのものであると見なします。

于 2010-11-12T12:53:44.783 に答える