C# 编译器选项

本部分介绍 C# 编译器解释的选项。 选项根据选项控制的内容(例如语言功能、代码生成和输出)分组到单独的文章中。 使用目录在目录之间导航。

如何设置选项

在 .NET 项目中设置编译器选项有两种不同的方法:

  • 在 *.csproj 文件中

    可以在 *.csproj 文件中以 XML 格式添加任何编译器选项的 MSBuild 属性。 属性名称与编译器选项相同。 属性值设置编译器选项的值。 例如,以下项目文件片段设置 LangVersion 属性。

    <PropertyGroup>
      <LangVersion>preview</LangVersion>
    </PropertyGroup>
    

    有关在项目文件中设置选项的详细信息,请参阅 .NET SDK 项目的 MSBuild 属性一文。

  • 使用 Visual Studio 属性页

    Visual Studio 提供用于编辑生成属性的属性页。 若要详细了解它们,请参阅 “管理项目和解决方案属性”-“Windows ”或 “管理项目”和“解决方案属性”-Mac

.NET Framework 项目

重要

本部分仅适用于 .NET Framework 项目。

除了上述机制之外,还可以对 .NET Framework 项目使用两种附加方法设置编译器选项:

  • .NET Framework 项目的命令行参数:.NET Framework 项目使用 csc.exe 而不是 dotnet build 生成项目。 可以指定要为 .NET Framework 项目 csc.exe 的命令行参数。
  • 编译 ASP.NET 页:.NET Framework 项目使用 web.config 文件的一部分来编译页面。 对于新的生成系统,ASP.NET 核心项目,选项取自项目文件。

某些编译器选项的单词从 csc.exe 和 .NET Framework 项目更改为新的 MSBuild 系统。 本部分使用新语法。 这两个版本都列在每个页面的顶部。 对于 csc.exe,所有参数都列在选项和冒号之后。 例如,选项 -doc 为:

-doc:DocFile.xml

可以通过在命令提示符处键入其可执行文件的名称(csc.exe)来调用 C# 编译器。

对于 .NET Framework 项目,还可以从命令行运行 csc.exe 。 每个编译器选项都以两种形式提供: -option/option。 在 .NET Framework Web 项目中,指定用于在 web.config 文件中编译代码隐藏的选项。 有关详细信息,请参阅 <编译器> 元素

如果使用 Visual Studio 开发人员命令提示符 窗口,则为你设置所有必要的环境变量。 有关如何访问此工具的信息,请参阅 Visual Studio 开发人员命令提示符

csc.exe 可执行文件通常位于 Windows 目录下的 Microsoft.NET\Framework\<Version> 文件夹中。 其位置可能因特定计算机的确切配置而异。 如果计算机上安装了多个版本的 .NET Framework,你将找到此文件的多个版本。 有关此类安装的详细信息,请参阅 如何:确定安装了哪些版本的 .NET Framework