概念: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

VS Project Property Manage的更多相关文章

  1. error MSB8031: Building an MFC project for a non-Unicode character set is deprecated. You must change the project property to Unicode or download an additional library. See http://go.microsoft.co

    Win10,也重新装了免费版的Visual Studio 2013 y,写MFC程序时候发现这样的提示: error MSB8031: Building an MFC project for a no ...

  2. Cannot detect Web Project version. Please specify version of Web Project through Maven project property <webVersion>. E.g.: <properties> <webVersion>3.0</webVersion> </properties>

    鼠标放在问题出会出现set web project version to 3.0和set web project version to 3.1两个选项 随便选一个版本就好了

  3. multiTarget within one project pods manage

    step1:file->new->target create 1 targetstep2:change Podfile and update podstep3:check new targ ...

  4. A Guide to Creating a Quality Project Schedule

    Successful projects start with a good quality project schedule. Creating a schedule is one of the fi ...

  5. Visual Studio warning MSB3270:There was a mismatch between the processor architecture of the project being built "MSIL"

    Problem: There was a mismatch between the processor architecture of the project being built "MS ...

  6. [SoapUI] Property Expansion in soapUI

    1. Property Expansion in soapUI SoapUI provides a common syntax to dynamically insert ("expand& ...

  7. error MSB8031: Building an MFC project for a non-Unicode character set is deprecated

    vs2013编译VC++源码,错误: error MSB8031: Building an MFC project for a non-Unicode character set is depreca ...

  8. MFC project for a non-Unicode character set is deprecated

    error MSB8031: Building an MFC project for a non-Unicode character set is deprecated. You must chang ...

  9. 【VS开发】VS2013多字节工程问题uilding an MFC project for a non-Unicode character set is deprecated

    VS2013多字节工程问题 使用VS2013编译旧版VC++程序时,提示Building an MFC project for a non-Unicode character set is depre ...

随机推荐

  1. linux下的变量规则

    1.变量名可以由字母.数字和下划线组成,但是不能以数字开头: 2.变量在命名时,默认情况下为字符型: 3.为变量赋值时,等号两边不能有空格: 4.如果要增加变量的值,可以进行变量的叠加,不过需要将变量 ...

  2. 去掉img与img之间,video与video之间默认的间距(3种方式)

    img,video{ /*第1种方式*/ border:; vertical-align: bottom; /*第2种方式*/ outline-width:0px; vertical-align:to ...

  3. 《CSS权威指南》双鱼书概述——第一章CSS和文档

    前言:CSS即层叠样式表 主要是影响一个或者一组文档的表现,没有文档,CSS毫无用处. 一.web的衰落 完全结构化的文本太过古板,太平常,虽然有N个理由要求使用结构化标记,但HTML已然走到了今天. ...

  4. HTTP1.0、HTTP 1.1、HTTP 2.0之间的主要区别

    HTTP1.0与HTTP 1.1的主要区别  长连接 节约带宽 HOST域 HTTP1.1与HTTP 2.0的主要区别  多路复用 二进制分帧 首部压缩 服务器推送 一.HTTP1.0与HTTP 1. ...

  5. 基于maven的javaweb项目模块化开发

    转自:https://my.oschina.net/kingfire/blog/273381 基于maven的javaweb项目模块化开发 引言 考虑团队拥有多个类似项目的情况,比如一些功能差异不大的 ...

  6. Linux系统安装使用实录--传送门(持续更新)

    1.安装Linux系统 经过两种系统对比,发现ubuntu的资源依赖更方便更全,  centos安装时可以配置开发环境,默认有安装的jdk,这一点比Ubuntu方便一点. win10+centos  ...

  7. VB数据集

    dim Re as recordset dim rs1 as recordsetre.movelast '移动到数据表的最后re.movefirst '移动到数据表的最前re.movenext '移动 ...

  8. jenkins插件send files or execute commands over ssh插件parameterized publishing选项使用

    1.设置一个参数 2.设置label 3.勾选parameterized publishing

  9. 36.React基础介绍——2019年12月24日

    2019年12月24日16:47:12 2019年10月25日11:24:29 主要介绍react入门知识. 1.jsx语法介绍 1.1 介绍 jsx语法是一种类似于html标签的语法,它的作用相当于 ...

  10. SPOJ-GSS1-Can you answer these queries 1

    链接: https://vjudge.net/problem/SPOJ-GSS1 题意: You are given a sequence A[1], A[2], ..., A[N] . ( |A[i ...