<?xml version="1.0" encoding="utf-8"?>
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE.md file in the project root for more information. -->
<Rule Name="Build" Description="指定控制專案建立方式的屬性。" DisplayName="建置" PageTemplate="generic" Order="200" xmlns="http://schemas.microsoft.com/build/2009/properties">
  <Rule.Categories>
    <Category Name="General" DisplayName="一般" />
    <Category Name="ErrorsAndWarnings" Description="設定建置過程的錯誤和警告選項。" DisplayName="錯誤與警告" />
    <Category Name="Output" Description="設定建置過程的輸出選項。" DisplayName="輸出" />
  </Rule.Categories>
  <Rule.DataSource>
    <DataSource Persistence="ProjectFile" SourceOfDefaultValue="AfterContext" HasConfigurationCondition="True" />
  </Rule.DataSource>
  <StringProperty Name="DefineConstants" DisplayName="條件式編譯符號" Description="指定要執行條件式編譯的符號。請使用分號 (';') 來分隔符號。" HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147079" Category="General" />
  <EnumProperty Name="PlatformTarget" DisplayName="平台目標" Description="指定輸出檔案要設為目標的處理器。對於任何 32 位元的 Intel 相容處理器，請選擇 [x86]; 對於任何 64 位元的 Intel 相容處理器，請選擇 [x64]，或選擇 [任何 CPU] 來指定可接受任何處理器。[任何 CPU] 是專案的預設值，因為此選項可讓應用程式在最廣泛的硬體上執行。" HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147129" Category="General">
    <EnumValue Name="AnyCPU" DisplayName="任何 CPU" />
    <EnumValue Name="x64" DisplayName="x64" />
    <EnumValue Name="x86" DisplayName="x86" />
  </EnumProperty>
  <EnumProperty Name="Nullable" DisplayName="可為 Null" Description="指定專案內 C# 可為 null 的內容。僅適用於使用 C# 8.0 或更新版本的專案。" HelpUrl="https://go.microsoft.com/fwlink/?linkid=2146796" Category="General">
    <EnumProperty.DataSource>
      <DataSource HasConfigurationCondition="False" />
    </EnumProperty.DataSource>
    <EnumValue Name="disable" DisplayName="停用" />
    <EnumValue Name="enable" DisplayName="啟用" />
    <EnumValue Name="warnings" DisplayName="警告" />
    <EnumValue Name="annotations" DisplayName="註釋" />
  </EnumProperty>
  <BoolProperty Name="AllowUnsafeBlocks" DisplayName="允許不安全的程式碼" Description="允許使用 'unsafe' 關鍵字編譯的程式碼。" HelpUrl="https://go.microsoft.com/fwlink/?linkid=2146797" Category="General">
    <BoolProperty.Metadata>
      <NameValuePair Name="SearchTerms" Value="指標" />
    </BoolProperty.Metadata>
  </BoolProperty>
  <BoolProperty Name="Optimize" DisplayName="將程式碼最佳化" Description="啟用或停用由編譯器執行的最佳化，讓您的輸出檔更小、更快、更有效率。" HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147080" Category="General">
    <BoolProperty.Metadata>
      <NameValuePair Name="SearchTerms" Value="最佳化;最佳化" />
    </BoolProperty.Metadata>
  </BoolProperty>
  <StringProperty Name="LangVersion" DisplayName="語言版本" Description="為什麼無法選取其他 C# 語言版本?">
    <StringProperty.DataSource>
      <DataSource PersistedName="LangVersion" Persistence="ProjectFileWithInterception" HasConfigurationCondition="False" />
    </StringProperty.DataSource>
    <StringProperty.ValueEditors>
      <ValueEditor EditorType="LinkAction">
        <ValueEditor.Metadata>
          <NameValuePair Name="Action" Value="URL" />
          <NameValuePair Name="URL" Value="https://aka.ms/csharp-versions" />
        </ValueEditor.Metadata>
      </ValueEditor>
    </StringProperty.ValueEditors>
  </StringProperty>
  <!-- TODO create fwlink for this HelpUrl -->
  <BoolProperty Name="CheckForOverflowUnderflow" DisplayName="查看算術溢位" Description="指定當整數算術求得的值落在資料類型範圍之外，也不在核取或取消核取的關鍵字範圍內時，是否要發出執行階段例外狀況。" HelpUrl="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/checked-compiler-option" Category="General">
    <BoolProperty.Metadata>
      <NameValuePair Name="SearchTerms" Value="已選取;未選取" />
    </BoolProperty.Metadata>
  </BoolProperty>
  <!-- TODO create fwlink for this HelpUrl -->
  <BoolProperty Name="Deterministic" DisplayName="具決定性" Description="指定編譯器是否應為相同的輸入產生相同的元件。" HelpUrl="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/deterministic-compiler-option" Category="General" />
  <!-- TODO create fwlink for this HelpUrl -->
  <EnumProperty Name="ErrorReport" DisplayName="內部編譯器錯誤報告" Description="控制是否要將內部編譯器錯誤 (ICE) 報告送給 Microsoft。" HelpUrl="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/errorreport-compiler-option" Category="General">
    <EnumProperty.DataSource>
      <DataSource HasConfigurationCondition="False" />
    </EnumProperty.DataSource>
    <EnumValue Name="none" DisplayName="一律不傳送" />
    <EnumValue Name="prompt" DisplayName="傳送前先提示" />
    <EnumValue Name="queue" DisplayName="佇列" />
    <EnumValue Name="send" DisplayName="傳送" />
  </EnumProperty>
  <!-- TODO create fwlink for this HelpUrl -->
  <EnumProperty Name="FileAlignment" DisplayName="檔案對齊" Description="指定輸出檔案之各區段的對齊位置 (位元組)。" HelpUrl="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/filealign-compiler-option" Category="General">
    <EnumValue Name="512" DisplayName="512" />
    <EnumValue Name="1024" DisplayName="1024" />
    <EnumValue Name="2048" DisplayName="2048" />
    <EnumValue Name="4096" DisplayName="4096" />
    <EnumValue Name="8192" DisplayName="8192" />
  </EnumProperty>
  <EnumProperty Name="WarningLevel" DisplayName="警告層級" Description="指定要為編譯器警告顯示的層級。" HelpUrl="https://go.microsoft.com/fwlink/?linkid=2146798" Category="ErrorsAndWarnings">
    <EnumValue Name="0" DisplayName="0" />
    <EnumValue Name="1" DisplayName="1" />
    <EnumValue Name="2" DisplayName="2" />
    <EnumValue Name="3" DisplayName="3" />
    <EnumValue Name="4" DisplayName="4" />
    <EnumValue Name="5" DisplayName="5" />
  </EnumProperty>
  <StringProperty Name="NoWarn" DisplayName="隱藏警告" Description="使編譯器無法產生一或多個警告。請以逗號 (',') 或分號 (';') 分隔多個警告編號。" HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147300" Category="ErrorsAndWarnings" />
  <EnumProperty Name="TreatWarningsAsErrors" HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147301" DisplayName="將警告視為錯誤" Description="用以指定哪些警告會視為錯誤。" Category="ErrorsAndWarnings">
    <EnumValue Name="false" DisplayName="無" />
    <EnumValue Name="true" DisplayName="全部" />
  </EnumProperty>
  <StringProperty Name="WarningsAsErrors" DisplayName="將特定警告視為錯誤" HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147301" Description="將指定的警告視為錯誤。請以逗號 (',') 或分號 (';') 分隔多個警告編號。" Category="ErrorsAndWarnings" />
  <StringProperty Name="BaseOutputPath" DisplayName="基底輸出路徑" Description="指定建置期間，用以存放專案之輸出的基底位置。此路徑會附加子資料夾，以區分專案設定。" Category="Output" Subtype="directory">
    <StringProperty.DataSource>
      <DataSource HasConfigurationCondition="False" />
    </StringProperty.DataSource>
  </StringProperty>
  <StringProperty Name="BaseIntermediateOutputPath" DisplayName="基底中繼輸出路徑" Description="指定建置期間，用以存放專案之中繼輸出的基底位置。此路徑會附加子資料夾，以區分專案設定。" Category="Output" Subtype="directory">
    <StringProperty.DataSource>
      <DataSource HasConfigurationCondition="False" />
    </StringProperty.DataSource>
  </StringProperty>
  <!-- TODO create fwlink for this HelpUrl -->
  <BoolProperty Name="GenerateDocumentationFile" DisplayName="文件檔案" Description="產生包含 API 文件的檔案。" HelpUrl="https://docs.microsoft.com/en-us/dotnet/csharp/codedoc" Category="Output">
    <BoolProperty.DataSource>
      <DataSource HasConfigurationCondition="False" />
    </BoolProperty.DataSource>
  </BoolProperty>
  <!-- TODO consider removing this property from the UI altogether -->
  <StringProperty Name="DocumentationFile" DisplayName="XML 文件檔案路徑" Description="API 文件檔案的路徑 (選擇性)。若保留空白，將會使用預設位置。" HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147081" Category="Output" Subtype="file">
    <StringProperty.DataSource>
      <DataSource HasConfigurationCondition="False" />
    </StringProperty.DataSource>
    <StringProperty.Metadata>
      <NameValuePair Name="VisibilityCondition">
        <NameValuePair.Value>(evaluated "Build" "GenerateDocumentationFile")</NameValuePair.Value>
      </NameValuePair>
    </StringProperty.Metadata>
  </StringProperty>
</Rule>