本博客(http://blog.csdn.net/livelylittlefish)贴出作者(三二一、小鱼)相关研究、学习内容所做的笔记,欢迎广大朋友指正!
MSBuild使用2——MSBuild保留属性
1. 概述
MSBuild 提供一组保留的属性,这些属性存储有关项目文件和 MSBuild 二进制文件的信息。这些属性的计算方式与其他 MSBuild 属性相同。
2. MSBuild 保留属性小结
MSBuildProjectDirectory : 项目文件所在目录的绝对路径,例如,C:/MyCompany/MyProduct。
MSBuildProjectFile : 项目文件的完整文件名(包括文件扩展名),例如,MyApp.proj。
MSBuildProjectExtension : 项目文件的文件扩展名(包括点号),例如,.proj。
MSBuildProjectFullPath : 项目文件的绝对路径和完整文件名,例如,C:/MyCompany/MyProduct/MyApp.proj。
MSBuildProjectName : 项目文件的文件名(不包括文件扩展名),例如,MyApp。
MSBuildBinPath : 当前使用的 MSBuild 二进制文件所在目录的绝对路径。
例如,C:/Windows/Microsoft.Net/Framework/v2.0。如果需要引用 MSBuild 目录中的文件,此属性十分有用。
MSBuildProjectDefaultTargets : Project元素的 DefaultTargets 属性中指定的目标的完整列表。
例如,下面的 Project 元素的 MSBuildDefaultTargets 属性值为 A;B;C。
<Project DefaultTargets="A;B;C" >
MSBuildExtensionsPath : MSBuild 文件夹位于 Program Files 目录下。此位置用于存放自定义目标文件。
例如,您的目标文件可能安装在 /Program Files/MSBuild/MyFiles/Northwind.targets 下,然后用下面的 XML 导入项目文件中。
<Import Project="$(MSBuildExtensionsPath)/MyFiles/Northwind.targets"/>
- <Project DefaultTargets="ShowRemainProperty" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Target Name="ShowRemainProperty">
- <Message Text="Project Name = $(MSBuildProjectName)" />
- <Message Text="Project Directory = $(MSBuildProjectDirectory)"/>
- <Message Text="Project Full Path = $(MSBuildProjectFullPath)" />
- <Message Text="Project File Name = $(MSBuildProjectFile)" />
- <Message Text="Project Extension = $(MSBuildProjectExtension)" />
- <Message Text="Default Targets = $(MSBuildProjectDefaultTargets)" />
- <Message Text="MSBuild Bin Path = $(MSBuildBinPath)" />
- <Message Text="Extensions Path = $(MSBuildExtensionsPath)" />
- </Target>
- </Project>
4. 运行
将该项目文件存于C盘根目录下,并运行,结果如下。
由此可以看出这几个保留属性的意义及其值。