MSBuild使用2——MSBuild保留属性

本博客(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"/>

 
3. 例,显示当前被Build的项目的属性值及保留属性值
  1. <Project DefaultTargets="ShowRemainProperty" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  2.     <Target Name="ShowRemainProperty">
  3.         <Message Text="Project Name      = $(MSBuildProjectName)" />
  4.         <Message Text="Project Directory = $(MSBuildProjectDirectory)"/>
  5.         <Message Text="Project Full Path = $(MSBuildProjectFullPath)" />
  6.         <Message Text="Project File Name = $(MSBuildProjectFile)" />
  7.         <Message Text="Project Extension = $(MSBuildProjectExtension)" />
  8.         <Message Text="Default Targets   = $(MSBuildProjectDefaultTargets)" />
  9.         <Message Text="MSBuild Bin Path  = $(MSBuildBinPath)" />
  10.         <Message Text="Extensions Path   = $(MSBuildExtensionsPath)" />
  11.     </Target>
  12. </Project>

4. 运行

将该项目文件存于C盘根目录下,并运行,结果如下。

MSBuild使用2——MSBuild保留属性_第1张图片

 

由此可以看出这几个保留属性的意义及其值。

 

参考:http://msdn.microsoft.com/zh-cn/library/ms164309.aspx

你可能感兴趣的:(c,xml,存储,Build,扩展,import)