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

5

我正在尝试在我的构建服务器上使用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,但始终收到错误消息,指出“project solution.sln中不存在目标ResolveReferences”。
有人知道我做错了什么吗?感谢您的帮助。

试一下这些链接:https://dev59.com/PXNA5IYBdhLWcg3wAIxP https://dev59.com/nWYq5IYBdhLWcg3wpiGk - BarrieK
谢谢,但第一个答案涉及间接引用,对我来说直接引用甚至没有复制,导致构建失败。第二个答案涉及引用项目的内容文件,这对我目前来说不是问题。 - Sebastian Rosch
你有机会解决这个问题吗?我遇到了类似的问题。 - Artyom
1个回答

0

尝试在解决方案资源管理器中进入“我的项目”,然后单击发布选项卡。您将看到程序的所有.dll文件和其他相关文件的列表。您可能需要单击左下角的“显示全部”以显示所有文件。在此处选择缺失的文件,在发布列中选择“包括”,在下载组中选择“必需”,并在哈希列中选择“包括”。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接