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版本下实现移植可能出现的各种问题之一。

最新文章

  1. 使用SPM创建新组件
  2. [SQL]SQL语言入门级教材_SQL语法参考手册(三)
  3. 在Windows下编译ffmpeg完全手册
  4. Java中的Filter过滤器
  5. Oracle的Import用法
  6. Maven学习总结(四)——Maven核心概念
  7. 阿里云如何添加多个网站 for Linux(绑定域名)
  8. Linux命令之 文件归档管理
  9. Node.mysql
  10. Java中常用Cache机制的实现
  11. Less循环
  12. Docker Data Center系列(三)- DTR安装指南
  13. mongoose 入门基本操作
  14. 洛谷P4147 玉蟾宫(动规:最大子矩形问题/悬线法)
  15. fold算法(拉格朗日插值)
  16. c# 用户页面
  17. Excel上传并读取数据
  18. .NET中低版本程序调用高版本DLL
  19. unity学习路线_重新出发
  20. selenium+python自动化90-unittest多线程执行用例

热门文章

  1. C内嵌汇编-格式
  2. php实现数据粘性例子
  3. XML文件(2)--使用DOM4J示例
  4. 再谈 Mysql解决中文乱码
  5. php文件锁
  6. 用R做逻辑回归之汽车贷款违约模型
  7. ASP.Net 打通服务器代码和前台界面的特殊符号
  8. 硬盘安装linux的两条命令
  9. svn检出的时候报 Unable to connect to a repository at URL错误(摘自CSDN)
  10. ZOJ 3686 A Simple Tree Problem