props/vsprops:工程属性表文件(project property sheet)

  后者为vs2008的,前者为vs2010及以后版本的,其主要包含工程属性配置相关,可以单独提取出来供不同工程项目公共使用,此外不同项目还可以追加、修改该继承(加载)的属性表,其他引用了该公共属性表的工程不受到影响;此属性表文件可以节省配置时间开销、减少配置错误率,减少工程的重复设置,最终只要设置一次就可以了,尤其是当解决方案下有很多的工程需要修改配置时,其效果显而易见。

  创建工程属性表:

    无论是vsprops或props,创建时可通过以下步骤:

    1. 打开菜单栏View(视图)下的Property Manager(属性管理器),此时出现的属性管理器面板属性页;

    2. 展开任意一个工程项目,可以看到内部提供了Debug、Release以及相应的Win32和x64位的版本属性,如果要单独对某一种属性添加属性表,可在其上右键选择添加新项目属性表,并设置属性表名称、位置等;

    3. 双击该创建的属性表,便可编辑该属性表的工程设置;可根据需要设置,如输入输出、编译器相关、链接器相关、清单工具、库管理以及事件、自定义生成工具等,此类设置与普通工程的属性配置类似;

    4. 此后,保存该配置的属性表即可。

  使用工程属性表:

    操作类似于创建过程;

    1. 打开菜单栏View(视图)下的Property Manager(属性管理器),此时出现的属性管理器面板属性页;

    2. 展开需要添加属性表的工程项目,并对需要添加属性的Debug、Release以及相应的Win32和x64位的版本属性中,右键添加现有属性表,将之前创建的属性表添加进去即可。

  重定义自己的工程属性:

    在添加了该属性表后,可根据需要修改项目工程属性,如增加、修改、删除等操作(对原添加的属性表无影响),若直接修改添加的属性表也可以,不过若该属性表为其他工程项目共享的(文件位置),则会影响其他工程

    的属性表配置的,故一般情况下若某工程特殊需要,则只需要修改当前工程属性即可而不是属性表。

  props/vsprops异同点:

    相同点:均为属性表文件,内部为工程属性配置相关信息,可以节省配置时间开销、减少配置错误率,减少工程的重复设置,只设置一次即可;

    不同点:当添加前者时,属性表的信息被直接写入了工程属性种,后者却未写入工程属性,并且添加属性表后的工程属性“常规”下会有“继承项目属性表”项,内容即为该添加的属性表路径;

    此外后者若修改工程属性后可能会出现重新加载工程文件时工程属性配置信息丢失或异常的可能性(有待验证,之前有出现过此类状况);而前者不会出现此类问题。

  小结:

    虽然props/vsprops属性表可以减少重复配置,减少配置出错,不过基本上在不同大的项目中解决方案、工程配置还是有很大的不同的,优势暂时不是很大,但对同一解决方案下还是很可观的;

    当然可以考虑配置通用的、泛型一点的属性表,以实现真正的公用的目的。

    最后就是不同VS版本转换、升级产生的问题,低版本可直接将自动vsprops转化为props格式,不过不同版本转化后可能出现某些不兼容的情况;这也是不同VS IDE版本下实现移植可能出现的各种问题之一。

Microsoft Visual Studio 工程属性表props/vsprops创建与使用的更多相关文章

  1. Microsoft Visual Studio 文件识别及其用途简述

    Microsoft Visual Studio IDE开发工具集,目前已推出多个不同版本,从之前的VC4.0到现在的VS2015,各个版本都会或多或少的功能或性能上的修改.提升,具体的改进地方可去官网 ...

  2. Microsoft Visual Studio | VS打开解决方案时加载失败,或者出现错误提示

    Microsoft Visual Studio | VS打开解决方案时加载失败,或者出现错误提示 1.加载失败并且输出状态栏也没什么错误提示的话,往往是因为一个低版本VS2010.VS2012等打开了 ...

  3. Microsoft Visual Studio PDB文件相关事宜

    Microsoft Visual Studio PDB:调试的符号文件,程序数据库 (PDB) 文件保存着调试和项目状态信息,使用这些信息可以对程序的调试配置: 当以 /ZI 或 /Zi(用于 C/C ...

  4. Microsoft Visual Studio 2010 遇到了异常,可能是由某个扩展导致的。 转载

    问题: 今天打开好久没用的Microsoft Visual Studio 2010 ,刚才创建了一个C++工程,错误就出现了. 只要在VS2010源码编辑器中输入一个字符,它就报错 ":Mi ...

  5. 通过反射实现Microsoft Visual Studio International Pack 1.0 SR1里面的两个类

    这两天打算实现拼音和简繁转换的方法, 发现Microsoft Visual Studio International Pack 1.0 SR1 提供了 .    下载地址 但是基于某些原因, 一来下载 ...

  6. Microsoft Visual Studio 2010下log4cplus的安装,集成,测试

    原文:http://blog.csdn.net/eclipser1987/article/details/6904301 log4cplus是C++编写的开源的日志系统,功能非常全面,用到自己开发的工 ...

  7. VS2017 winform 打包 安装(使用 Microsoft Visual Studio 2017 Installer Project)

    Microsoft Visual Studio 2017 Installer Projects SkyRiN发表于Coding+订阅 253 助力数字生态,云产品优惠大促 腾讯云促销,1核1G 99元 ...

  8. AO安装需要Microsoft Visual Studio 2013?

    从接触ArcGIS9.2到 10.4,在不断升级的 过程中,既给我们带来了很多惊喜,也带来一些麻烦,因为ArcGIS版本不兼容.出于体验,安装了ArcGIS Desktop10.4,AO也得升到10. ...

  9. 安装了SQL2005再安装SQL 2008R2,提示此计算机上安装了 Microsoft Visual Studio 2008 的早期版本和检查是否安装了 SQL Server 2005 Express 工具的解决方案

    工作电脑上安装了SQL 2005, 但是客户电脑上安装的是SQL 2008R2,有时候连接他们的库调试没法连接,很不方便.然后又安装了个SQL2008 R2,期间遇到这两个问题,网上搜索了一下收到了解 ...

随机推荐

  1. Delphi 获取时间的年月日

    procedure TFrmLltj.FormActivate(Sender: TObject); var   Present: TDateTime;   Year, Month, Day, Hour ...

  2. linux 时间同步的2种方法

    转载自: http://blog.51yip.com/server/1474.html 由于硬件的原因,机器或多或少的根标准时间对不上,一个月的误差几秒到几分钟不等.对于服务器来说时间不准,会有很多麻 ...

  3. radio 切换内容

    <!DOCTYPE html><html><head> <meta charset=utf-8 /> <title>test</tit ...

  4. Spring--开山篇

    ·Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建.简单来说,Spring是一个分层的JavaSE/EEfull-stack( ...

  5. windows server 2012 使用问题

    1.端口映射,把宿主机的端口映射到hyper-v创建的虚拟机上 访问宿主机的公网IP的某个端口,就等于访问这个虚拟机上的端口 具体实现: 在宿主机上命令行输入 添加一个端口映射 netsh inter ...

  6. Linux 下 查看以及修改文件权限

    查看权限 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 其中: 最前面那个 - 代表的是类型 中间那三个 rw- ...

  7. ORACLE百万记录SQL语句优化技巧

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

  8. 线性插值&双线性插值&三线性插值

    http://www.cnblogs.com/yingying0907/archive/2012/11/21/2780092.html 內插是数学领域数值分析中的通过已知的离散数据求未知数据的过程或方 ...

  9. PJAX的实现与应用

    一.前言 web发展经历了一个漫长的周期,最开始很多人认为Javascript这们语言是前端开发的累赘,是个鸡肋,那个时候人们还享受着从一个a链接蹦 到另一个页面的web神奇魔术.后来随着JavaSc ...

  10. iOS json 解析遇到error: Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed.

    Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 38 ...