Поделиться через


-subsystemversion (Visual Basic)

Указывает минимальную версию подсистемы, в которой может выполняться созданный исполняемый файл, тем самым определяя версии Windows, в которой может выполняться исполняемый файл. Чаще всего этот параметр гарантирует, что исполняемый файл может использовать определенные функции безопасности, недоступные в старых версиях Windows.

Замечание

Чтобы указать саму подсистему, используйте параметр компилятора -target .

Синтаксис

-subsystemversion:major.minor

Параметры

major.minor

Минимальная требуемая версия подсистемы, выраженная в нотации точек для основных и дополнительных версий. Например, можно указать, что приложение не может работать в операционной системе, которая старше Windows 7, если присвоить этому параметру значение 6.01, как описано в таблице ниже. Необходимо указать значения для major целочисленных чисел и minor значений.

Нули в начале версии minor не изменяют версию, нули в конце — изменяют. Например, 6.1 и 6.01 — одна версия, а 6.10 — другая. Рекомендуется указывать дополнительный номер версии двумя цифрами, чтобы избежать путаницы.

Замечания

В следующей таблице перечислены распространенные версии подсистем Windows.

Версия Windows Версия подсистемы
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, если задан любой параметр компилятора в следующем списке:

  • Значение по умолчанию — 6.00, если используется средство MSBuild, приложение предназначено для .NET Framework 4.5 и не установлены параметры компилятора, определенные ранее в этом списке.

  • Значение по умолчанию равно 4.00, если ни одно из предыдущих условий не имеет значения true.

Настройка этого параметра

Чтобы задать параметр компилятора -subsystemversion в Visual Studio, необходимо открыть VBPROJ-файл и указать значение свойства SubsystemVersion в XML-файле MSBuild. Этот параметр нельзя задать в интегрированной среде разработки Visual Studio. Дополнительные сведения см. в разделе "Значения по умолчанию" выше в этом разделе или общих свойствах проекта MSBuild.

См. также