VS Project Property Manage

概念:Project Property 和 Property Sheet。

  • Project Property:项目属性,是你当前项目的属性配制,保存在你工程的配制文件中,rojectName.vcxproj中。
  • Property Sheet:属性表,可用于多个工程的属性配制,可以自己创建添加属性配制,也可以使用系统默认的属性表,保存在.props为拓展名的文件中。而属性表(Property Sheet)的添加和管理就是在Property Manager中进行设置的。

默认属性表含义 以Debug | x64的配置为例,

  1. Microsoft.Cpp.x64.user:
    系统默认的属性表,全路径为,
    C:\Users\horswing\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.x64.user.props
    项目创建后,默认有这个属性表。双击可以修改(效果与solution explorer 项目名上右键 -> property一致),右键选则remove和移除。
  2. Application:
    表示这个项目生成的是一个“应用程序”(不是DLL或LIB)。在Property Manger里,这项是不能改的,所以你发现双击后,出现的页面是灰色的,右键也只有property选项。
    在哪里改呢?solution explorer里,项目属性 -> gerneral -> Project Defaults -> Configuration Type.
  3. Unicode Support和Core Windows Libraries
    和Application项一样,这两项也是“只能看不能改的”,要改,分别在,项目属性 -> gerneral -> Project Defaults 里的Character Set和Use of MFC修改。

属性的继承关系

项目的属性是分层的。 每一层会继承前一层的值,但是继承的值可以通过设置属性来显式地重写。 下面是基本的继承关系(继承树):

  1. 来自 MSBuild CPP工具集的默认设置(..\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.Default.props,它将被 ProjectName.vcxproj文件导入)。
  2. Property sheets(属性表),也就是Property Manager中设置的属性表。
  3. 工程文件ProjectName.vcxproj .(可以重写默认值和property sheet 中的设置)。
  4. 每一项的元数据。

题外话,由此我们发现有三个地方可以设置项目属性:

  1. Property Manager里的属性表(可以在默认的属性表上修改,也可以自己新建一个);
  2. solution explorer里,项目属性;
  3. 在代码里更改:例如,宏定义,附加库等。

注意:设置有冲突,3覆盖2, 2覆盖1。


参考文章:https://msdn.microsoft.com/en-us/library/669zx6zc.aspx

posted @ 2019-12-06 14:03  乘于时  阅读(547)  评论(0编辑  收藏  举报