我有一些视觉工作室项目依赖于其他项目,这些项目有不同的配置。
example:
Project MyProject (Configuration: Release)
References:
Project LibA (Configuration: Release_DontLink)
Project LibB (Configuration: Release
使用Visual Studio构建工作正常,因为用于不同项目的配置存储在解决方案文件中。
但是当我使用msbuild构建MyProject时,它会构建LibA的Release配置,这是不正确的。由于LibA和LibB都被许多其他项目使用,我无法更改这些配置,我只能控制MyProject。
有没有办法在不更改LibA和LibB项目的情况下使用MsBuild构建MyProject?
可能相关的问题:Configuration for ProjectReference in MSBuild,但我没有完全理解答案,我认为这需要我改变LibA / LibB
答案 0 :(得分:2)
在解决方案级别(即:MyProject.sln)上,打开属性页面并设置Release
配置以构建项目Release_DontLink
的{{1}}配置。如果你无法控制sln文件,你应该能够创建它的副本(即:MyProject.Release.sln)。
然后用:
构建解决方案LibA
在覆盖其msbuild MyProject.sln /p:Configuration=Release
属性的同时构建MyProject
构建LibA
后,或者(甚至远程不是最佳做法):
OutDir
答案 1 :(得分:0)
我遇到了同样的问题,发现需要为所有已配置的平台完成解决方案配置。