
MSBuild 使用任务、目标和工具的工具集以生成应用程序。 通常,MSBuild 工具集包括 microsoft.common.tasks 文件、microsoft.common.targets 文件以及编译器(如 csc.exe 和 vbc.exe)。 大多数工具集可用于将应用程序编译为多个版本的 .NET Framework 以及多个系统平台。 但 MSBuild 2.0 工具集仅可用于面向 .NET Framework 2.0。
在项目文件中 Project 元素的 ToolsVersion 特性中指定工具集。 下面的示例指定应使用 MSBuild 12.0 工具集来生成项目。
复制
<Project ToolsVersion="12.0" ... </Project>
当你在 Visual Studio 中创建项目或更新现有项目时,名为 ToolsVersion 的特性将自动包括在项目文件中,并且其值对应于包括在 Visual Studio 版本中的 MSBuild 版本。 有关详细信息,请参阅面向特定的 .NET Framework 版本或配置文件。
当 ToolsVersion 值在项目文件中定义时,MSBuild 将使用该值来确定在该项目中可用的工具集属性的值。 其中一个工具集属性为 $(MSBuildToolsPath),该属性指定 .NET Framework 工具的路径。 仅该工具集属性(或 $(MSBuildBinPath))是必需的。
从 Visual Studio 2013 开始,MSBuild 工具集版本号与 Visual Studio 版本号相同。 无论项目文件中指定哪个工具集版本,MSBuild 都会在 Visual Studio 中和命令行上默认使用该工具集。 使用 /ToolsVersion 标志可重写此行为。 有关详细信息,请参阅重写 ToolsVersion 设置。
在下面的示例中,MSBuild 将使用 MSBuildToolsPath 保留的属性查找 Microsoft.CSharp.targets 文件。
复制
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
可通过定义自定义工具集来修改 MSBuildToolsPath 的值。 有关详细信息,请参阅标准和自定义工具集配置。
当在命令行上生成解决方案并为 msbuild.exe 指定 ToolsVersion 时,所有项目及其项目到项目的依赖项均基于该 ToolsVersion 生成,即便解决方案中的每个项目都指定了自己的 ToolsVersion 也是如此。 若要针对每个项目定义 ToolsVersion 值,请参阅重写 ToolsVersion 设置。
ToolsVersion 特性也用于项目移植。 例如,如果你在 Visual Studio 2010 中打开 Visual Studio 2008 项目,则该项目文件将更新以包括 ToolsVersion=“4.0”。 如果你此时尝试在 Visual Studio 2008 中打开该项目,由于它不会识别已升级的 ToolsVersion,因此它会按照该特性设置为 3.5 的情况生成该项目。
Visual Studio 2010 和 Visual Studio 2012 使用的 ToolsVersion 为 4.0。 Visual Studio 2013 使用的 ToolsVersion 为 12.0。 在许多情况下,无需修改即可在 Visual Studio 的所有三个版本中打开该项目。 Visual Studio 始终会使用正确的工具集,但是会在使用的版本与项目文件中的版本不匹配时通知你。 在几乎所有情况下,此警告是良性的,因为工具集在大多数情况下都兼容。
子工具集(将在本主题后面部分介绍)允许 MSBuild 根据运行生成所在的上下文自动切换要使用的工具集。 例如,当 MSBuild 在 Visual Studio 2012 中运行时,它将使用比在 Visual Studio 2010 中运行时更新的工具集,而且你无需显式更改项目文件。 有关详细信息,请参阅如何:修改项目系统,以便项目在 Visual Studio 的多个版本加载。
通过选择组成某个工具集的各种工具、目标以及任务的路径来实现该工具集。 MSBuild 定义的工具集中的工具来自以下源:
.NET Framework 文件夹。
其他托管工具。
这些托管工具包括 ResGen.exe 和 TlbImp.exe。
MSBuild 提供了两种方式来访问工具集:
使用工具集属性
使用 ToolLocationHelper 方法
工具集属性指定工具的路径。 MSBuild 使用项目文件中的 ToolsVersion 属性的值以查找相应的注册表项,然后使用该注册表项中的信息来设置工具集属性。 例如,如果 ToolsVersion 的值为 12.0,则 MSBuild 将根据以下注册表项设置工具集属性:HKLM\Software\Microsoft\MSBuild\ToolsVersions\12.0。
这些是工具集属性:
MSBuildToolsPath 指定 MSBuild 二进制文件的路径。
SDK40ToolsPath 为 MSBuild 4.x(可以是 4.0 或 4.5)指定其他托管工具的路径。
SDK35ToolsPath 为 MSBuild 3.5 指定其他托管工具的路径。
Microsoft .NET Framework 2.0.net2.0正式版
22.4M / 中文10-09
Microsoft .NET Framework 3.5官方完整版下载
231.4M / 中文10-09
Microsoft .NET Framework 4.0.net4.0
48M / 中文10-09
Microsoft visual C++ 2005(含X64,X86)完整版
4M / 中文10-09
Microsoft visual C++ 2008(含X86,X64SP1)完整版
3M / 中文10-09
Microsoft visual VC++ 2010(含X86,X64)完整版
10.2M / 中文10-09
Microsoft Silverlight 4.0
5.6M / 中文10-09
微软Microsoft Visual C++ 2012 32位运行库
6.0M / 中文05-22
微软Microsoft Visual C++ 2012 64位运行库
6.7M / 中文05-22
Microsoft .NET Framework4.5
876KB / 中文06-19
妻中蜜3全cg存档
游戏工具 / 28KB
下载
1
SimplyCam DXF格式编辑器v2.4.0 绿色版
文件处理 / 2.0M
下载
2
csgo空格键连跳脚本绿色免费版
游戏工具 / 564KB
下载
3
LOL Dsx换肤小助手2016 最新过检测版
游戏工具 / 4KB
下载
4
免费的SQLite3数据管理工具(SQLiteSpy)v1.9.9绿色版
编程软件 / 1.9M
下载
5
魔兽7.2.5塞弗斯的秘密buff监控wa字符串
游戏工具 / 1KB
下载
6
我的世界矿物透视MOD1.6.4-1.8集合版本
游戏工具 / 889KB
下载
7
DNF9周年第十套天空时装补丁
游戏工具 / 1.6M
下载
8
易控王文档加密软件v2017官方版绿色免费版
文件处理 / 46M
下载
9
魔兽7.3世界任务插件worldquesttracker
游戏工具 / 1M
下载
10
140.5M / 09-05
立即下载
76.4M / 03-25
立即下载
55M / 06-05
立即下载
237.9M / 04-13
立即下载
900.9M / 03-02
立即下载
96.2M / 07-06
立即下载
311.2M / 07-06
立即下载
335M / 07-06
立即下载
200M / 07-06
立即下载
413.8M / 07-06
立即下载
768.9M / 08-19
立即下载
484.7M / 09-27
立即下载
165.4M / 09-05
立即下载
131.8M / 04-13
立即下载
195.6M / 03-03
立即下载
45.6M / 09-08
立即下载
665.2M / 07-06
立即下载
2.84G / 07-06
立即下载
93M / 07-06
立即下载
338.3M / 07-06
立即下载
892.4M / 08-18
立即下载 312M / 07-30
立即下载 1.38G / 07-26
立即下载 109.8M / 06-03
立即下载 142M / 01-08
立即下载 1.2M / 11-23
立即下载 548.8M / 04-13
立即下载 1.6M / 04-13
立即下载 1.48G / 03-18
立即下载 646.6M / 03-03
立即下载 404M / 08-18
立即下载 110.5M / 09-05
立即下载 33.4M / 09-05
立即下载 60M / 04-29
立即下载 254M / 04-25
立即下载 659M / 04-23
立即下载 1M / 12-26
立即下载 253.4M / 12-08
立即下载 253M / 12-08
立即下载 1.19G / 11-16
立即下载 115.9M / 08-19
立即下载 488.3M / 06-04
立即下载 369M / 09-22
立即下载 181.5M / 09-22
立即下载 201.2M / 09-05
立即下载 248.9M / 12-08
立即下载 248.9M / 12-08
立即下载 100.6M / 03-06
立即下载 148.9M / 03-06
立即下载 1.12G / 07-06
立即下载 126.7M / 02-04
立即下载 1.76G / 09-22
立即下载 1.92G / 04-17
立即下载 201.5M / 04-13
立即下载 7.31G / 07-01
立即下载 94.3M / 07-06
立即下载 2.48G / 07-06
立即下载 7.63G / 07-06
立即下载 1M / 07-06
立即下载 778.1M / 07-06
立即下载 1.30G / 08-19
立即下载 72M / 07-06
立即下载 548.7M / 07-06
立即下载 1.00G / 07-06
立即下载 9.13G / 07-06
立即下载 126.2M / 07-06
立即下载 72M / 07-06
立即下载 105.1M / 07-06
立即下载 132M / 07-06
立即下载 132M / 07-06
立即下载