Visual Studio 2008:通过项目/解决方案上下文菜单启动自定义构建目标 - 无需加载项

时间:2010-03-02 06:52:49

标签: c# visual-studio-2008 msbuild

我在visual studio 2008 c#项目中有一个自定义构建目标。有没有一种简单的方法可以将上下文菜单项添加到项目中,以便可以通过ide执行自定义构建目标?构建目标未集成到默认构建过程中,必须手动启动。对于所有开发人员来说,此步骤应该很简单,不应强制他们从命令行执行msbuild。

是否提供简单易用的解决方案?

的问候, Achim的

5 个答案:

答案 0 :(得分:3)

向项目/解决方案添加新配置。然后,关闭项目文件,打开它以便用XML进行编辑。将其DefaultTargets属性更改为“PickBuild”,并将以下目标添加到文件的底部:

<Target Name="PickBuild">
    <CallTarget Targets="Build" Condition=" '$(Configuration)' == 'Debug' "/>
    <CallTarget Targets="Build" Condition=" '$(Configuration)' == 'Release' "/>
    <CallTarget Targets="SpecialTarget" Condition=" '$(Configuration)' == 'NewConfiguration' "/>
</Target>

现在,要执行特殊任务,开发人员只需在Visual Studio中切换配置并点击构建。而且,根据要求,它存在于文件中,因此也适用于其他任何人的机器

答案 1 :(得分:1)

如果您不想要加载项,则可以使用VS宏来注册命令(在解决方案资源管理器中的项目的上下文菜单中),这将启动此构建过程。

答案 2 :(得分:1)

除了Debug和Release之外,您还可以添加另一个构建配置,然后修改项目以使用MSBuild条件和属性来确定是否应根据正在构建的配置运行自定义目标。如果适当地指定链,则应该能够阻止发生默认的构建操作,以支持您需要的自定义步骤。

为简化所有开发人员,在创建此特殊项目文件后,您可以将其导出为模板,以供创建新项目时团队的其他成员使用。

答案 3 :(得分:0)

虽然不包含在Visual Studio中,但我只是创建.cmd文件。在此文件中,您使用msbuild.exe来构建项目。您还可以同时指定属性和其他命令行选项。当开发人员需要启动构建时,只需双击正确的.cmd文件即可。

答案 4 :(得分:0)

this blog post中,Scott Hanselman描述了如何在VS中创建一个按钮来调用“msbuild / m”

http://www.hanselman.com/blog/CategoryView.aspx?category=MSBuild

您可以这样做,但您可以致电:

 msbuild /t:YourTarget

您可能会自动创建按钮。