多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# /subsystemversion (C# Compiler Options) 指定产生的可执行文件可以运行的子系统的最低版本,从而确定执行文件可以运行的Windows的版本。通常,此选项确保可执行文件可以利用 Windows早期版本中不可以使用的特定安全功能。 | ![](https://box.kancloud.cn/2016-01-31_56adb62c1380a.jpg) 注意 | | :-- | | 若要指定的子系统,请使用 [/target](https://msdn.microsoft.com/zh-CN/library/6h25dztx.aspx) 编译器选项。 | ## 语法 ``` /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: * [/target:appcontainerexe](https://msdn.microsoft.com/zh-CN/library/hh547139.aspx) * [/target:winmdobj](https://msdn.microsoft.com/zh-CN/library/hh547136.aspx) * [/platform:arm](https://msdn.microsoft.com/zh-CN/library/zekwfyz4.aspx) * 如果使用 MSBuild,默认值为 6.00,则以.NET Framework 4.5为目的,并且未设置此列表之前指定的任何编译器选项。 * 如果以上条件都不符合,默认值为 4.00。 ### 设置此选项 若要在 Visual Studio 中设置 **/subsystemversion** 编译器选项,则必须在MSBuild XML中打开 .csproj 文件和指定 **SubsystemVersion** 属性值。您不能在 Visual Studio IDE 中设置此选项。有关详细信息,请参阅本主题前面的“默认值”或[常用的 MSBuild 项目属性](https://msdn.microsoft.com/zh-CN/library/bb629394.aspx)。 ## 请参阅 [C# Compiler Options](https://msdn.microsoft.com/zh-CN/library/2fdbz5xd.aspx) [MSBuild 属性](https://msdn.microsoft.com/zh-CN/library/ms171458.aspx)