使用MSBuild构建具有多个环境的解决方案

时间:2012-10-31 22:10:10

标签: visual-studio-2010 msbuild

我们有一个在AnyCPU中构建的解决方案,我们在x64机器上构建。它包含一些引用Silverlight SDK的项目(仅针对x86)。当我们在Visual Studio 2010中构建解决方案时,一切都很好。

我们正在尝试自动化构建,当我们在该解决方案文件上触发msbuild时,依赖Silverlight SDK的两个项目都无法构建,而其他50个左右的构建都很好。如果我调用devenv.exe构建解决方案,它可以很好地构建整个解决方案(正如我所料)。

我想我可以创建某种类型的构建文件来解决这个问题,但我不想在现有的解决方案文件之外维护另一个构建文件。有没有办法告诉msbuild为每个项目构建“正确”的环境而没有单独的构建文件?

如果没有,那么我认为msbuild构建文件基本上只是.proj文件。对于如何配置一个比MSBuild reference更好的参考,还是真的最开始的地方?

1 个答案:

答案 0 :(得分:4)

如果没有更详细的确切错误,我猜你正在解决这个问题,因为64位版本的msbuild正在你的构建服务器上运行。由于Visual Studio 2010是32位,因此您不会在此处看到此问题。

要让团队构建使用32位msbuild,请在构建配置中的高级下的Process选项卡上将MSBuild Platform设置设置为X86。

您的其他项目仍然可以定位到AnyCPU,甚至可以定位到x64,但除非您知道需要,否则不推荐使用它,并且编译正常。

有用的图片here

可在this post底部附近找到更多信息。

希望这有帮助。

相关问题