用于保存msbuild任务的外部文件

ama*_*eur 6 msbuild nant build-automation visual-studio

我已经为我的VS项目创建了一些ms构建任务.

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

另外,我已经看到,你可以创建.bat文件来运行nant任务.是否可以与msbuild类似?

Tod*_*odd 7

是.您可以使用导入任务:

<Import Project="PathToMyIncludeFile\Include.proj" />
Run Code Online (Sandbox Code Playgroud)

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

msbuild <project> /t:target[;target] /p:propertyname=propertyvalue
Run Code Online (Sandbox Code Playgroud)

目标在msbuild文件中定义,属性是文件中定义的任何属性.如果未指定目标,则将运行msbuild文件元素中定义的缺省值.以下是几个例子:

因此,要使用Clean和Compile目标运行构建:

msbuild myproject.proj /t:Clean;Compile
Run Code Online (Sandbox Code Playgroud)

或者使用Compile目标和发布配置来运行构建:

msbuild myproject.proj /t:Compile /p:Configuration=Release
Run Code Online (Sandbox Code Playgroud)

或者使用默认目标运行构建并设置版本属性:

msbuild myproject.proj /p:Version=2.0.0.1
Run Code Online (Sandbox Code Playgroud)

命令行参数优先于文件中定义的值.因此,在上面的示例中,如果您将文件中定义的版本设置为:

<PropertyGroup>
    <Version>1.0.0.0</Version>
<PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

构建将使用配置版本2.0.0.1运行

像往常一样,请查看MSDN以获取更多信息.