我们的一个.net项目引用了一个在给定路径中不存在的库,因此项目无法在我们的开发机器上编译(无论我们是否使用Visual Studio或MSBuild构建)
然而,在我们的持续集成服务器上,项目构建得很好(我们使用jenkins,它使用msbuild)。
它成功的原因是因为.sln中的第一个.csproj在程序集上有一个本地副本为true,我们称之为X.显然,这个X所在的文件夹也包含非常缺少的库。
我从日志中看到,当“_CopyFilesMarkedCopyLocal”部分运行时,它会将缺失的程序集与X一起复制到目标文件夹。
稍后当后续项目在“corecompile”下编译时,它会神奇地引用这个缺失的程序集并成功。
当我们无法在我们的环境中构建时,我希望我的CI失败。如何让msbuild不复制所有文件,只复制标记为复制的文件?