/subsystemversion(C# 编译器选项)

指定产生的可执行文件可以运行的子系统的最低版本,从而确定执行文件可以运行的Windows的版本。 通常,此选项确保可执行文件可以利用 Windows早期版本中不可以使用的特定安全功能。

备注

若要指定的子系统,请使用 /target 编译器选项。

/subsystemversion:major.minor

参数

  • major.minor
    子系统的最低要求的版本,主要和次要版本的点表示形式表示。 例如,可以指定一个不可以运行在 Windows 7以前的操作系统的应用程序,如本主题后面的表所述,如果将此选项值设置为 6.01。 必须为 major 和 minor 指定值为整数。

    前导零的 minor 版本不更改版本,但是填充的零更改。 例如,6.1 和 6.01 都引用同一个版本,但是,6.10 引用不同版本的。 建议把次版本表示为两个数字以避免混淆。

备注

下表列出常用 Windows 子系统版本。

Windows 版本

子系统版本

Windows 2000

5.00

Windows XP

5.01

Windows Server 2003

5.02

Windows Vista

6.00

Windows 7

6.01

Windows Server 2008

6.01

Windows 8

6.02

默认值

/subsystemversion 编译器选项的默认值取决于列表下面的条件:

  • 如果以下列表中的任何编译器选项被设置,默认值为 6.02:

  • 如果使用 MSBuild,默认值为 6.00,则以.NET Framework 4.5为目的,并且未设置此列表之前指定的任何编译器选项。

  • 如果以上条件都不符合,默认值为 4.00。

设置此选项

若要在 Visual Studio 中设置 /subsystemversion 编译器选项,则必须在MSBuild XML中打开 .csproj 文件和指定 SubsystemVersion 属性值。 您不能在 Visual Studio IDE 中设置此选项。 有关详细信息,请参阅本主题前面的“默认值”或常用的 MSBuild 项目属性

请参见

概念

MSBuild 属性

其他资源

C# 编译器选项