Show/Hide Toolbars

XSharp

 

指定生成的可执行文件可以运行的子系统的最低版本,从而确定可执行文件可以运行的 Windows 版本。最常见的情况是,该选项可确保可执行文件利用旧版本 Windows 所不具备的特定安全功能。

 

注意

要指定子系统本身,请使用 -target 编译器选项。

语法

-subsystemversion:major.minor  

 

参数

major.minor子系统所需的最小版本,用主版本和次版本的点号表示。例如,如果将该选项的值设置为 6.01,就可以指定应用程序不能在旧版本的 Windows 7 操作系统上运行,本主题后面的表格对此进行了说明。必须以整数形式指定主版本和次版本的值。

 

次版本中的前导零不会改变版本,但尾部零会。例如,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:

o-target:appcontainerexe

o-target:winmdobj

o-platform:arm

如果使用的是 MSBuild,目标是 .NET Framework 4.5,且未设置本列表前面指定的任何编译器选项,则默认值为 6.00。

如果前面的条件都不成立,默认值为 4.00。

设置此选项

要在 Visual Studio 中设置 -subsystemversion 编译器选项,必须打开 .xsproj 文件并在 MSBuild XML 中指定 SubsystemVersion 属性的值。在 Visual Studio IDE 中无法设置该选项。