将MSBuild集成到Visual Studio中

时间:2009-09-30 10:44:14

标签: visual-studio visual-studio-2008 msbuild

我是一名运行Visual Studio 2008的独立开发人员,他正在研究MSBuild以改进我的构建过程。

到目前为止,我发现的几乎所有教程都有很多关于编写构建文件的信息。但是,我在找到如何将MSBuild集成到Visual Studio中时遇到了很多麻烦。也许MSBuild只用于像CruiseControl这样的东西,但对于我来说,这对单身开发人员来说太过分了。

构建文件应该放在Visual Studio项目中的哪个位置?如何在IDE中运行它?

10 个答案:

答案 0 :(得分:20)

Visual Studio会自动为其支持的项目执行MSBuild。

如果右键单击某个项目并将其卸载,则可以在Visual Studio中对其进行编辑。重新加载(再次右键单击项目),强制(重新)构建以测试您的更改。另一种方法是在外部编辑器中编辑项目文件,Visual Studio将检测保存并提供为您重新加载项目。

听起来您正走在正确的轨道上,如果您正在考虑编写目标或自定义MSBuild任务,请花时间将它们与当前项目分开,以便您可以重复使用它们。不要重新发明轮子,两个主要的互补MSBuild项目是MSBuild Community TasksMSBuild Extension Pack

更新:根据您对Mitch答案的评论,您可能还需要考虑向项目添加新的Configuration元素或自定义属性。新的MSBuild配置(默认调试/发布以外的其他配置)可以运行单元测试,构建文档或任何您想要自动化的内容。自定义MSBuild属性允许您使用正常的调试/发布配置和extend it来自动化更多的构建过程,这取决于您想要什么。这两种方法也可以从command line推动。

答案 1 :(得分:5)

正如其他人所说,安装Visual Studio时,MSBuild已经可用。

如果要集成到VS2008中:Running MSBuild from Visual Studio

答案 2 :(得分:2)

MSBuild是Visual Studio 使用的构建引擎来处理项目中包含的文件。
Visual Studio项目文件本身(**。csproj *用于C#和实际上是每次构建项目时都运行的MSBuild脚本。

答案 3 :(得分:1)

您的.csproj文件是MSBuild文件。所以你实际上已经在使用它了。

您当然希望创建一个单独的构建文件以获得更多控制权,尤其是在持续集成或夜间构建中。

如果您只是想编辑项目构建文件,那么您可以使用IDE编辑一些设置,例如构建前和构建后操作,或者通过卸载项目并右键单击和编辑来编辑Xml本身。

答案 4 :(得分:1)

您可以使用当前的.vcproj文件使用MSBuild构建项目。但是,由于不直接支持MSBuild(至少对于vc ++),因此使用vcbuild(内部)。 在VS2010中,所有项目文件都是基于MSBuild的......

答案 5 :(得分:1)

这是一篇关于msbuild团队的一些简单扩展点的旧文章

How To: Insert Custom Process at Specific Points During Build

答案 6 :(得分:1)

此外,请不要忘记您可以使用MSBuild SideKick来开发和调试您的(本地)msbuild,可以http://www.attrice.info/msbuild/免费获取

答案 7 :(得分:0)

我建议你将msbuild称为post build步骤。然后,您可以将构建脚本放在解决方案中的某个位置并调用它。

<windowsdir>\Microsoft.NET\Framework\v3.5\MSBuild.exe c:\temp\MyProject\mybuildfile.proj

答案 8 :(得分:0)

最简单的方法可能是使用构建后步骤调用自定义构建脚本。右键单击项目,选择“Build Events”并从那里使用自定义的msbuild文件调用msbuild。

答案 9 :(得分:0)

我使用msbuild模板与visual studio集成

http://msbuildtemplate.codeplex.com/