Visual C ++ 2010“系统属性表”和“用户属性表”,关键区别?

时间:2016-02-03 02:18:11

标签: visual-studio-2010 msbuild

我在MS Press阅读Inside MSBuild 2nd-edition。当谈到引入“用户属性表”和“系统属性表”概念的第10章时,我想出了一个问题:什么决定了属性表是“用户”还是“系统”?

正如本书(p284)所述,用户属性表和系统属性表在Visual Studio 2010 IDE中显示不同的图标。

enter image description here

所以,

  • 从VC 6.0升级 Microsoft.Cpp.Win32.user 为“user”。
  • 应用程序核心Windows库是“系统”。

我首先想到的是

    来自%LOCALAPPDATA%\ Microsoft \ MSBuild \ v4.0
  • .props为“user”
  • 来自 C:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0
  • .props是“system”

但事实并非如此,因为从VC 6.0升级来自 C:\ Program Files(x86),而它是用户属性表。

那么关键决定因素是什么?

1 个答案:

答案 0 :(得分:0)

好吧,也许作者已经按照我的猜测回答了这个问题,但是模糊不清。在页284,有:

  

通过将系统属性表拉入Visual C ++项目   以下两个导入,你可以在你的开头找到   项目文件(请注意,这些不是项目中的连续行   文件;它们被其他线分开)。

<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

enter image description here

读者有两种方式来解释这句话:

  1. 它强调&#34;系统属性表&#34;进入.vcxproj。但是&#34;系统属性表的定义&#34;在别处说明。
  2. 两个特别命名的(Microsoft.Cpp.Default.propsMicrosoft.Cpp.props)import语句定义了所谓的&#34;系统属性表&#34;。 (非常隐含)
  3. 也许authour意味着两者。