2010-08-19 51 views
5

我为我的VS项目创建了一些ms构建任务。保存msbuild任务的外部文件

而不是必须更新每个任务的VS项目文件,是否可以创建一个外部文件来保存构建任务并通过主项目文件引用它?

另外,我已经看到,你可以创建.bat文件来运行nant任务。是否有可能做类似的MSBuild?

回答

6

是的。您可以使用导入任务:

<Import Project="PathToMyIncludeFile\Include.proj" /> 

是的,你可以创建一个批处理文件来运行msbuild。语法是

msbuild <project> /t:target[;target] /p:propertyname=propertyvalue 

其中目标在msbuild文件中定义,属性是文件中定义的任何属性。如果您不指定目标,则将运行在msbuild文件元素中定义的默认值。这里有几个例子:

因此,为了与清洁运行构建和编译目标:

msbuild myproject.proj /t:Clean;Compile 

或与编译的目标和释放配置运行构建:

msbuild myproject.proj /t:Compile /p:Configuration=Release 

或与默认的目标和一组一个版本属性运行构建:

msbuild myproject.proj /p:Version=2.0.0.1 

命令行参数优先于文件中定义的值。所以在上面的例子中,如果你有文件中定义的版本:

<PropertyGroup> 
    <Version>1.0.0.0</Version> 
<PropertyGroup> 

构建将与中2.0.0.1

像往常一样配置的版本上运行,检查出MSDN获取更多信息。