共享或重用 Visual Studio 项目设置

若要创建可与他人共享或在多个项目中重用的自定义设置组,请使用“属性管理器”创建属性表(.props 文件),以存储每种希望能够重用或与他人共享的项目的设置。 与创建“全局”设置的其他方法相比,使用属性表出错的可能性要低得多。

重要

*.user 文件问题

先前版本的 Visual Studio 使用了全局属性表,此表包含 .user 文件名扩展,并且位于 \<userprofile>\AppData\Local\Microsoft\MSBuild\v4.0\ 文件夹中。 我们不再推荐这些文件,因为它们是针对每个用户、每台计算机来设置项目配置属性的。 特别是如果你在生成计算机上面向多个平台,此类“全局”设置会影响生成。 例如,如果你同时拥有一个 MFC 项目和 Windows Phone 项目,则其中一个项目的 .user 属性将会无效。 可重用的属性表更为灵活,而且更加可靠。

尽管 Visual Studio 仍安装 .user 文件并参与属性继承,但默认情况下,这些文件为空。 最佳做法是删除项目在属性管理器中的引用,确保项目按每个计算机设置和每个用户独立运行。 这对确保 SCC(源代码管理)环境中的正确行为来说非常重要。

若要显示“属性管理器”,请在菜单栏上选择“视图”>“属性管理器”,或“视图”>“其他窗口”>“属性管理器”,具体取决于设置。

如果你想将经常使用的属性集应用于多个项目,可使用属性管理器在可重用的属性表文件中捕获,按照惯例,文件的扩展名为 .props 你可以将一张或多张表应用于新项目,这样就不必从头开始设置这些属性。

Screenshot of the Property Manager shortcut menu.

在每个配置节点下,将看到适用于该配置的每个属性表的节点。 创建项目时,此系统添加了属性表,该表基于在应用向导中所选的选项来设置常用值。 右键单击任何节点并选择“属性”来查看适用于该节点的属性。 所有属性表都自动导入到项目的主属性表 (ms.cpp.props) 中并进行评估,以便在属性管理器中显示。 可以移动它们来更改评估顺序。 稍后评估的属性表会替代之前已评估表中的值。 若要详细了解 .vcxproj 文件、.props.targets 文件、环境变量与命令行的评估顺序,请参阅项目属性继承

如果选择“添加新项目属性表”,然后进行选择(例如 MyProps.props 属性表),将显示属性页对话框。 请注意,适用于 MyProps 属性表;你所做的任何更改都将写入表中,而非属性文件 (.vcxproj) 中。

如果直接在 .vcxproj 文件中设置同一属性,属性表中的属性将被重写。

你可以按所需的频率导入属性表。 一个解决方案中的多个项目可从同一个属性表继承设置,一个项目可有多个表。 属性表自身可以从另一个属性表继承设置。

还可为多个配置创建一个公共属性表。 要为每个配置创建一个属性表,请打开其中一个配置的快捷菜单,选择“添加现有属性表”,然后添加其他表。 但是,如果使用公共属性表,则是你为工作表适用的所有配置设置的属性。 IDE 不显示从给定属性表继承的项目或其他属性表。

在具有多个项目的大型解决方案中,为解决方案中的所有项目创建一个公共属性表非常有用。 像往常一样创建属性表。 使用属性管理器将该属性表添加到解决方案中的每个项目。 如果这在项目级别是必需的,可再添加一个属性表来设置项目特定的值。

重要

由于 .props 文件不作为项目项创建,因此该文件默认不参与源代码管理。 如果你希望将文件加入源代码管理,则可以手动添加文件作为解决方案项。

创建属性表

  1. 在菜单栏上选择“视图”>“属性管理器”,或“视图”>“其他窗口”>“属性管理器”。 此时将打开“属性管理器”

  2. 若要定义属性表的范围,请选择属性表适用的项。 此项可能是一个特殊配置,或者是另一个属性表。 打开该项的快捷菜单,然后选择“添加新项目属性表”。 指定一个名称和位置。

  3. 在“属性管理器”中,打开新的属性表然后设置要包括的属性