4

ソリューションの一部のテストでは、モル0.94を使用しています。ただし、最初にコンパイルされるたびに、ビルドサーバーはいくつかの警告を発します。

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets (1360): Could not resolve this reference. 
Could not locate the assembly "XXX.Moles, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL". 
Check to make sure the assembly exists on disk. 
If this reference is required by your code, you may get compilation errors.

私の理解では、ビルドサーバーはビルドを開始する前にテストプロジェクトのすべての参照を解決しようとし、molesassemblyフォルダーの下にmoles dllが見つからない場合(最初は空であるため)、上記のような警告。

ただし、msbuildがこのテストプロジェクトのビルドを開始すると、Moleアセンブリが生成され、Moleassembliesフォルダーにコピーされるため、エラーにはなりません。

要約すると、初めてビルドが部分的に成功し、次回のビルドは完全に成功します。

ビルドサーバーに警告が表示されないようにしています。ビルドサーバーでこの警告を排除する方法はありますか?

4

1 に答える 1

3

すべてのサードパーティアセンブリは、プロジェクトのルートフォルダーのAssembliesフォルダーに保存されています。私たちのプロジェクトで使用されているすべてのサードパーティアセンブリは、この場所から参照されます。アセンブリフォルダはTFSに含まれています。

一般的な(アセンブリ)フォルダーではなく、出力フォルダーからXXX.Molesアセンブリを参照しているようです。テストプロジェクトの出力フォルダーではなく、アセンブリフォルダーのサードパーティライブラリを使用するように参照を更新してみてください。

編集:XXX.Molesアセンブリが参照タグに存在するかどうかのチェックを追加してみてください。例:

<Reference Condition="Exists('..\molesassemblies\XXX.Moles.dll')" Include="XXX.Moles.dll">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\molesassemblies\XXX.Moles.dll</HintPath>
</Reference>
于 2012-01-06T00:06:45.487 に答える