2

我有一个 Visual Studio 解决方案 (ab.sln),它引用了两个 (VC) 项目文件 a.proj 和 b.proj。项目相互依赖(A 是 B 的 postProject ProjectDependency)。在 Visual Studio 下编译时需要此依赖项。

现在我只想从命令行编译项目 B,我认为 msbuild 将是一个不错的选择。但我想在不同的文件夹中分别编译这两个项目(对于 CI)。编译 A 后,我想将所需的文件复制到 B 编译的工作目录。

如何在不构建依赖项(并且没有额外文件)的情况下从命令行编译解决方案中的一个项目?我当前构建依赖项的命令是:

msbuild /t:b ab.sln

我当然可以使用一个单独的解决方案文件 b.sln,它只包含项目 B,但我试图不使用额外的文件。

jlew如何让 MSBuild 忽略项目引用中给出的答案?对我不起作用,可能是因为我不使用ProjectReferences

4

2 回答 2

1

如果两个项目都使用相同的 $(OutDir) 并且项目 B 在共享的 $(OutDir) 中对 A 进行了二进制引用而不是项目引用,那么它应该可以工作。

于 2013-06-24T20:11:26.017 回答
1

https://stackoverflow.com/a/8127377/1578962

MSBuild myproj.csproj /p:Configuration=Debug /p:BuildProjectReferences=false /t:Build

于 2019-09-16T04:00:20.290 回答