1

これは私の参照がどのように見えるかです...

ここに画像の説明を入力

プロジェクトまたはソリューションをクリーンアップしてビルドすると、ビルドに失敗します。これは、クリーンアップにより、使用する Nuget パッケージ (Moq および NUnit.Framework) への参照が削除されているためです...

ここに画像の説明を入力

プロジェクトを再構築しても問題は解決しませんが、ソリューションを再構築すると、パッケージ参照が再び利用可能になり、ビルドは成功します。

奇妙なことに、これは、このソリューションの他の単体テスト プロジェクトでは発生しません。MOQ と NUnit への参照は、Nuget を介して同じ方法で追加されたとしても、クリーン後もそのまま残ります。何かばかげたことを見逃したのではないかと思いますが、私の人生ではそれを解決することはできません.

編集:この更新プログラムのイメージを準備する際に、症状が思ったほど正確ではないことに気付きました。そのため、問題の説明を拡大しました。

4

1 に答える 1

0

とった!

両方の csproj ファイルを開いたところ、同じアセンブリのヒント パスが 2 つのファイルで異なっていることがわかりました。良いプロジェクトはpackagesどこを参照しているか、悪いプロジェクトは良い ( Delivery.Website.UnitTests) プロジェクトを参照しています。

だから修正する...

<Reference Include="Moq">
  <HintPath>..\Delivery.Website.UnitTests\bin\Debug\Moq.dll</HintPath>
</Reference>
<Reference Include="nunit.framework">
  <HintPath>..\Delivery.Website.UnitTests\bin\Debug\nunit.framework.dll</HintPath>
</Reference>

...なる...

<Reference Include="Moq">
  <HintPath>..\packages\Moq.4.0.10827\lib\NET40\Moq.dll</HintPath>
</Reference>
<Reference Include="nunit.framework">
  <HintPath>..\packages\NUnit.2.6.2\lib\nunit.framework.dll</HintPath>
</Reference>

...そして、それは正常に機能します!

そもそもどのようにしてこの状態になったのかわかりません:\

于 2013-08-20T08:35:24.677 に答える