【发布时间】:2018-11-17 09:32:04
【问题描述】:
我从命令行调用 MSBuild:
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\MSBuild.exe" /t:clean,build /p:configuration="Release" /p:platform="Any CPU" MySolution.sln
该解决方案包含多个项目和 nuget 包引用。例如。 Project1 通过 nuget 引用 log4net。 Project2 引用 Project1。
引用被配置为本地复制,因此我在 Project1 的 bin 文件夹以及 Project2 的 bin 文件夹中获得了 log4net DLL。
但是,当我从 Jenkins 触发构建时,我总是会错过辅助引用,即在 Project2 的 bin 文件夹中,我找到了 Project1 的 DLL,但没有找到 log4net——尽管 log4net 存在于 Project1 的 bin 文件夹中。
我能够将原因追溯到 Jenkins 自动设置的环境变量 BUILD_NUMBER(例如 10)的存在。我在控制台窗口中进行了测试:如果它在那里,那么问题就如所描述的那样出现。如果不存在,所有 DLL 都在我期望的位置。
我该如何继续?欢迎提出任何建议!
提前致谢!
莱因哈德
【问题讨论】: