<?xml version="1.0" encoding="utf-8"?>
<!--Copyright, Microsoft Corporation, All rights reserved.-->
<Rule Name="ConfigurationGeneralAdvanced" DisplayName="高级" PageTemplate="generic" Description="高级属性" xmlns="http://schemas.microsoft.com/build/2009/properties">
  <Rule.Categories>
    <Category Name="General" DisplayName="高级属性" Description="高级属性"/>
    <Category Name="CLR" DisplayName="C++/CLI 属性" Description="C++/CLI 属性"/>
  </Rule.Categories>
  <Rule.DataSource>
    <DataSource Persistence="ProjectFile" Label="Configuration"/>
  </Rule.DataSource>
  
  <EnumProperty Name="CLRSupport" DisplayName="公共语言运行时支持" Description="指定此配置是否支持公共语言运行时。这与其他某些设置(例如运行时检查)不兼容。有关完整的冲突列表，请参见 /clr 系列 C++ 编译器开关的帮助。" Category="CLR" F1Keyword="VC.Project.VCConfiguration.ManagedExtensions">
    <EnumValue Name="false" DisplayName="无公共语言运行时支持"/>
    <EnumValue Name="NetCore" DisplayName=".NET Core 运行时支持(/clr:netcore)"/>
    <EnumValue Name="true" DisplayName="公共语言运行时支持(/clr)"/>
    <EnumValue Name="Pure" DisplayName="纯 MSIL 公共语言运行时支持(/clr:pure)"/>
    <EnumValue Name="Safe" DisplayName="安全 MSIL 公共语言运行时支持(/clr:safe)"/>
  </EnumProperty>
  
  <StringProperty Name="TargetFrameworkVersion" DisplayName=".NET 目标框架版本" Description="项目所面向的 .NET Framework 版本。这仅在设置了“公共语言运行时支持”时适用。" Category="CLR" F1Keyword="VC.Project.TargetFrameworkVersion">
    <StringProperty.DataSource>
      <DataSource Persistence="ProjectFile" Label="Globals" HasConfigurationCondition="False"/>
    </StringProperty.DataSource>
  </StringProperty>

  <StringProperty Name="TargetFramework" Visible="false" DisplayName=".NET Core 目标框架" Description="项目面向的 .NET Core 版本。这仅在“公共语言运行时支持”设置为 .NET Core 时适用。" Category="CLR" F1Keyword="VC.Project.TargetFrameworkVersion">
    <StringProperty.DataSource>
      <DataSource Persistence="ProjectFile" Label="Globals" HasConfigurationCondition="False"/>
    </StringProperty.DataSource>
  </StringProperty>

  <BoolProperty Name="EnableManagedIncrementalBuild" DisplayName="启用托管增量生成" Description="使用 metagen 启用托管增量生成方案。" Category="CLR" F1Keyword="VC.Project.VCConfiguration.EnableManagedIncrementalBuild">
    <BoolProperty.DataSource>
      <DataSource Persistence="ProjectFile" Label=""/>
    </BoolProperty.DataSource>
  </BoolProperty>

  <StringProperty Name="TargetExt" DisplayName="目标文件扩展名" Description="指定此程序将具有的文件扩展名。(示例: .exe 或 .dll)" F1Keyword="VC.Project.VCConfiguration.TargetExt" Category="General">
    <StringProperty.DataSource>
      <DataSource Persistence="ProjectFile" Label=""/>
    </StringProperty.DataSource>
  </StringProperty>

  <StringListProperty Name="ExtensionsToDeleteOnClean" DisplayName="清除时要删除的扩展名" Description="分号分隔的通配符规范，指定在清除或重新生成时要删除中间目录中的哪些文件。" Category="General" Separator=";" F1Keyword="VC.Project.VCConfiguration.DeleteExtensionsOnClean">
    <StringListProperty.DataSource>
      <DataSource Persistence="ProjectFile" Label=""/>
    </StringListProperty.DataSource>
  </StringListProperty>

  <StringProperty Name="BuildLogFile" DisplayName="生成日志文件" Description="指定启用生成记录时要写入的生成日志文件。" F1Keyword="VC.Project.VCConfiguration.BuildLogFile" Category="General" Subtype="file">
    <StringProperty.DataSource>
      <DataSource Persistence="ProjectFile" ItemType="BuildLog" PersistedName="Path"/>
    </StringProperty.DataSource>
  </StringProperty>

  <EnumProperty Name="PreferredToolArchitecture" DisplayName="首选的生成工具体系结构" Description="确定将使用哪些生成工具来编译程序(32 位或 64 位)。" Category="General" F1Keyword="VC.Project.VCConfiguration.PreferredToolArchitecture">
    <EnumValue Name="" DisplayName="默认"/>
    <EnumValue Name="x86" DisplayName="32 位(x86)"/>
    <EnumValue Name="x64" DisplayName="64 位(x64)"/>
  </EnumProperty>

  <BoolProperty Name="UseDebugLibraries" DisplayName="使用调试库" Description="指定设置的配置是用于开发(DEBUG)还是用于生产(RELEASE)。" Category="General" F1Keyword="VC.Project.VCConfiguration.UseDebugLibraries">
  </BoolProperty>

  <BoolProperty Name="EnableUnitySupport" DisplayName="启用 Unity (JUMBO)生成" Description="启用一个生成过程，此生成过程会在编译前将大量 C++ 源文件合并为一个或多个 &quot;Unity&quot; 文件以改进生成性能。与 Unity 游戏引擎无关" Category="General" F1Keyword="VC.Project.VCConfiguration.EnableUnitySupport"/>

  <BoolProperty Name="CopyLocalDeploymentContent" DisplayName="将内容复制到 OutDir" Description="将标记为内容的项复制到此项目的输出目录。" Category="General" F1Keyword="VC.Project.VCConfiguration.CopyLocalDeploymentContent">
	<BoolProperty.DataSource>
      <DataSource Persistence="ProjectFile" Label=""/>
    </BoolProperty.DataSource>
  </BoolProperty>

  <BoolProperty Name="CopyLocalProjectReference" DisplayName="将项目引用复制到 OutDir" Description="将项目引用的输出(dll/exe)复制到此项目的输出目录。在 C++/CLI (/clr) 项目中，将忽略此属性，并且由该引用的本地复制属性控制引用的输出复制。" Category="General" F1Keyword="VC.Project.VCConfiguration.CopyLocalProjectReference">
	<BoolProperty.DataSource>
      <DataSource Persistence="ProjectFile" Label=""/>
    </BoolProperty.DataSource>
  </BoolProperty>

  <BoolProperty Name="CopyLocalDebugSymbols" DisplayName="将项目引用的符号复制到 OutDir" Description="将项目引用的符号(pdb)复制到此项目的输出目录，并将其与项目引用的输出(dll/exe)相邻。始终为 CLR 项目启用。" Category="General" F1Keyword="VC.Project.VCConfiguration.CopyLocalDebugSymbols">
	<BoolProperty.DataSource>
      <DataSource Persistence="ProjectFile" Label=""/>
    </BoolProperty.DataSource>
  </BoolProperty>

  <BoolProperty Name="CopyCppRuntimeToOutputDir" DisplayName="将 C++ 运行时复制到输出目录" Description="将 C++ 运行时 dll 复制到此项目的输出目录。" Category="General" F1Keyword="VC.Project.VCConfiguration.CopyCppRuntimeToOutputDir">
    <BoolProperty.DataSource>
      <DataSource Persistence="ProjectFile" Label=""/>
    </BoolProperty.DataSource>
  </BoolProperty>


  <EnumProperty Name="UseOfMfc" DisplayName="MFC 的使用" Description="指定配置使用 MFC 的方式。" Category="General" F1Keyword="VC.Project.VCConfiguration.useOfMfc">
    <EnumValue Name="false" DisplayName="使用标准 Windows 库" Description="使用标准 Windows 库"/>
    <EnumValue Name="Static" DisplayName="在静态库中使用 MFC" Description="在静态库中使用 MFC"/>
    <EnumValue Name="Dynamic" DisplayName="在共享 DLL 中使用 MFC" Description="在共享 DLL 中使用 MFC"/>
  </EnumProperty>

  <EnumProperty Name="CharacterSet" DisplayName="字符集" Description="通知编译器使用指定的字符集；帮助解决本地化问题。" Category="General" F1Keyword="VC.Project.VCConfiguration.CharacterSet">
    <EnumValue Name="NotSet" DisplayName="未设置" Description="未设置"/>
    <EnumValue Name="Unicode" DisplayName="使用 Unicode 字符集" Description="使用 Unicode 字符集"/>
    <EnumValue Name="MultiByte" DisplayName="使用多字节字符集" Description="使用多字节字符集"/>
  </EnumProperty>

  <EnumProperty Name="WholeProgramOptimization" DisplayName="全程序优化" Description="指定程序将跨 .obj 边界进行优化；当开启 C/C++ 优化时效果最好。" Category="General" F1Keyword="VC.Project.VCConfiguration.WholeProgramOptimization">
    <EnumValue Name="false" DisplayName="无全程序优化" Description="无全程序优化"/>
    <EnumValue Name="true" DisplayName="使用链接时间代码生成" Description="使用链接时间代码生成"/>
    <EnumValue Name="PGInstrument" DisplayName="按配置优化 - 检测" Description="按配置优化 - 检测"/>
    <EnumValue Name="PGOptimize" DisplayName="按配置优化 - 优化" Description="按配置优化 - 优化"/>
    <EnumValue Name="PGUpdate" DisplayName="按配置优化 - 更新" Description="按配置优化 - 更新"/>
  </EnumProperty>

  <DynamicEnumProperty Name="VCToolsVersion" DisplayName="MSVC 工具集版本" EnumProvider="VCToolsVersion" Description="指定此项目将用于生成的 MSVC 工具集的完整版本。" Category="General" F1Keyword="VC.Project.VCConfiguration.VCToolsVersion">
  </DynamicEnumProperty>
</Rule>
