我们在解决方案中使用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