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

我正在尝试使用构建服务器上的MSBuild命令行构建我的解决方案。 但是,MSBuild不会将任何dll复制到bin文件夹,因此后续目标将失败。

我的解决方案包括几个项目,其中只应打包一个项目。 该项目引用了之前应该构建的同一解决方案中的其他项目。

所有引用都在项目文件中设置为true

这是我的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。

我读了一些关于没有被复制的间接引用的post,但对我来说,即使直接引用也没有被复制。

我也尝试调用像ResolveReferences这样的target ResolveReferences does not exist in the project solution.sln ,但总是得到target ResolveReferences does not exist in the project solution.sln的错误。

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

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