【发布时间】:2011-04-01 06:33:38
【问题描述】:
我为我的 VS 项目创建了一些 ms 构建任务。
不必为每个任务更新 VS 项目文件,是否可以创建一个外部文件来保存构建任务并通过主项目文件引用它?
另外,我在 nant 中看到,您可以创建 .bat 文件来运行 nant 任务。是否可以用 msbuild 做类似的事情?
【问题讨论】:
标签: visual-studio msbuild build-automation nant
我为我的 VS 项目创建了一些 ms 构建任务。
不必为每个任务更新 VS 项目文件,是否可以创建一个外部文件来保存构建任务并通过主项目文件引用它?
另外,我在 nant 中看到,您可以创建 .bat 文件来运行 nant 任务。是否可以用 msbuild 做类似的事情?
【问题讨论】:
标签: visual-studio msbuild build-automation nant
是的。您可以使用 Import 任务:
<Import Project="PathToMyIncludeFile\Include.proj" />
是的,您可以创建一个批处理文件来运行 msbuild。语法是
msbuild <project> /t:target[;target] /p:propertyname=propertyvalue
目标在 msbuild 文件中定义,属性是文件中定义的任何属性。如果未指定目标,则将运行 msbuild 文件元素中定义的默认值。以下是几个例子:
所以要使用 Clean 和 Compile 目标运行您的构建:
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 了解更多信息。
【讨论】: