我們在解決方案中使用moles 0.94進行某些測試。然而,每次被先編譯時間,構建服務器將引發一些警告:無法解析構建服務器上的Moles dll的警告
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開始構建這個測試項目時,將會生成痣組件並將其複製到moleassemblies文件夾中,因此它不會變成錯誤。
總之,這是第一次構建會部分成功,下一次構建將完全成功。
我們試圖在構建服務器上不會有任何警告。有沒有什麼辦法可以消除構建服務器上的這種警告?
我相信geekysteven在談到自動生成的痣組件,這是在構建過程中創建的,但經過ResolveReferences目標出現在MSBuild中,因此是Build Warning。 – 2012-01-06 03:53:39
尼克是對的,我們不想檢入該DLL。痣組件是在構建服務器上自動生成的。這就是爲什麼生成服務器第一次無法檢測到DLL,所以它會丟失警告,但不會出現錯誤。 – geekysteven 2012-01-06 10:02:18
我更新了我的答案 – Ludwo 2012-01-07 13:27:02