msbuild一个引用具有不同配置的项目的项目

时间:2012-06-25 15:48:36

标签: visual-studio-2010 visual-c++ msbuild

我有一些视觉工作室项目依赖于其他项目,这些项目有不同的配置。

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

2 个答案:

答案 0 :(得分:2)

在解决方案级别(即:MyProject.sln)上,打开属性页面并设置Release配置以构建项目Release_DontLink的{​​{1}}配置。如果你无法控制sln文件,你应该能够创建它的副本(即:MyProject.Release.sln)。

sln properties

然后用:

构建解决方案
LibA

在覆盖其msbuild MyProject.sln /p:Configuration=Release 属性的同时构建MyProject构建LibA后,或者(甚至远程不是最佳做法):

OutDir

答案 1 :(得分:0)

我遇到了同样的问题,发现需要为所有已配置的平台完成解决方案配置。