MSBuild不会将直接引用的dll复制到bin文件夹

时间:2015-11-03 14:45:31

标签: c# vb.net visual-studio msbuild bamboo

我正在尝试使用构建服务器上的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之类的目标,但总是得到target ResolveReferences does not exist in the project solution.sln的错误。

有谁知道我做错了什么?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

尝试在解决方案资源管理器中转到“我的项目”,然后单击“发布”选项卡。然后,您将看到所有.dll文件的列表以及与您的程序相关的其他文件。您可能需要单击左下角的show all来显示所有要显示的文件。这里选择缺少的文件,在发布列中选择Include,在Download Group中选择Required,然后在Hash列中选择include