我正在尝试使用构建服务器上的MSBuild命令行构建我的解决方案.
但是,MSBuild不会将任何dll复制到bin文件夹,因此后续目标会失败.
我的解决方案包括几个项目,其中只应打包一个项目.该项目引用了之前应该构建的同一解决方案中的其他项目.
所有引用都设置为< Private> true< / Private>在项目文件中.
这是我的MSBuild命令:
Msbuild solution.sln /m /p:BuildInParallel=true /p:VersionNumber=1.2.3.4
"/t:Rebuild" /p:Configuration=Release /p:WebProjectOutputDir=publish\
"/p:GitVersion=abcdef (abcdef)" /p:OutDir=publish\bin\ /p:RunOctoPack=true
当我在Visual Studio(2012或2013)中构建项目时,将创建bin文件夹,并将所有必需的dll复制到bin文件夹. Visual Studio将dll复制到bin文件夹后,MSBuild命令将一直有效,直到我更改了任何引用的dll.
我读了一些关于没有被复制的间接引用的帖子,但对我来说,即使是直接引用也没有被复制.
我也尝试调用像ResolveReferences这样的目标,但总是得到目标ResolveReferences在项目solution.sln中不存在的错误.
有谁知道我做错了什么?谢谢您的帮助.
解决方法:
尝试在解决方案资源管理器中转到“我的项目”,然后单击“发布”选项卡.然后,您将看到所有.dll文件的列表以及与您的程序相关的其他文件.您可能需要单击左下角的show all来显示所有要显示的文件.在这里选择缺少的文件,在发布列中选择Include,在Download Group中选择Required,然后在Hash列中选择include