C# 编译器选项

本节介绍 C# 编译器解释的选项。 选项根据其控制的内容(例如语言功能、代码生成和输出)分组到不同的文章中。 使用目录来浏览它们。

如何设置选项

可以通过两种不同的方法设置 .NET 项目中的编译器选项:

  • 在你的 *.csproj 文件中

    可以以 XML 格式为 *.csproj 文件中的任何编译器选项添加 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 Core 项目,将从项目文件中设置选项。

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

-doc:DocFile.xml

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

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

如果使用“Visual Studio 开发人员命令提示”窗口,系统将设置所有必需的环境变量。 有关如何访问此工具的信息,请参阅 Visual Studio 开发人员命令提示

csc.exe 可执行文件通常位于 Windows 目录下的 Microsoft.NET\Framework\ <Version> 文件夹中。 根据每台计算机上的具体配置,此位置可能有所不同。 如果计算机上安装了不止一个版本的 .NET Framework,你将发现此文件的多个版本。 有关此类安装的详细信息,请参阅如何:确定安装的 .NET Framework 版本