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


/platform (Visual Basic)

Указывает какая версия платформы среды CLR может выполнить выходной файл.

/platform:{ x86 | x64 | Itanium | arm | anycpu | anycpu32bitpreferred }

Аргументы

Термин

Определение

x86

Компилирует сборку для выполнения в 32-разрядной, x86-совместимой среде CLR.

x64

Компилирует сборку для выполнения на компьютере с 64-разрядной средой CLR, который поддерживает набор инструкций AMD64 и EM64T.

Itanium

Компилирует сборку для выполнения в 64-разрядной среде CLR, на компьютере с процессором Itanium.

arm

Компилирует сборку для запуска на компьютере с процессором ARM (Advanced RISC компьютера).

anycpu

Компилирует сборку для запуска на любой платформе.Приложение будет выполняться как 32-разрядного приложения в 32-разрядных версиях Windows и в качестве 64-разрядных приложений на 64-разрядных версиях Windows.Этот флаг имеет значение по умолчанию.

anycpu32bitpreferred

Компилирует сборку для запуска на любой платформе.Приложение будет выполняться как 32-разрядных приложений на 32-разрядных и 64-разрядных версий Windows.Этот флаг является допустимым только для исполняемых файлов (.(EXE) и требует .NET Framework 4.5.

Заметки

Используйте параметр /platform для указания типа процессора для выходного файла.

Обычно сборки, написанные на Visual Basic .NET Framework, будут выполняться независимо от платформы.Однако, в некоторых случаях, на разных платформах поведение будет отличаться.Наиболее частыми случаями являются:

  • Структуры, содержащие члены, которые изменяют размер в зависимости от платформы, такие как любой тип указателя.

  • арифметические операции над указателями, содержащие размеры констант;

  • неправильный платформенный вызов или COM-объявление, которое использует Integer для дескрипторов вместо IntPtr;

  • приведение IntPtr к Integer.

  • Использование вызова неуправляемого кода или COM-взаимодействия с компонентами, которые не существуют на всех платформах.

Параметр /platform решит некоторые проблемы, если есть сведения об архитектуре, на которой будет выполняться код.В частности:

  • Если код предназначен для 64-разрядной платформы, но приложение будет запущено на 32-разрядном компьютере, сообщение об ошибке появится гораздо раньше и будет более содержательным, чем сообщение, возникшее без использования этого параметра.

  • Если вы x86 флага в параметре и последующем запуске приложения на 64-разрядном компьютере, приложение будет выполняться в подсистеме WOW вместо собственной.

В 64-разрядной операционной системе Windows:

  • Сборки, скомпилированные с параметром /platform:x86, будут выполняться в 32-разрядной среде CLR под WOW64.

  • Исполняемые файлы, скомпилированные с помощью параметра /platform:anycpu, будут выполняться на 64-разрядной среде CLR.

  • Библиотека DLL, скомпилированная с помощью параметра /platform:anycpu, будет выполняться в той же среде CLR, в которую загружен процесс.

  • Исполняемые файлы, скомпилированные с /platform:anycpu32bitpreferred будут выполняться в 32-разрядной среде CLR.

Дополнительные сведения о том, как разрабатывать приложения на 64-разрядной версии Windows, см. 64-разрядные приложения.

Чтобы задать/Platform в интегрированной среде разработки Visual Studio

  1. В Обозревателя решений, выберите проект, открыть проекта меню, а затем нажмите Свойства.

    Дополнительные сведения см. в разделе Знакомство с конструктором проектов.

  2. На компиляции вкладке установите или снимите предпочитают 32-разрядные флажок, или в Целевой Процессор список, выберите значение.

    Дополнительные сведения см. в разделе Страница "Компиляция" в конструкторе проектов (Visual Basic).

Пример

Следующий пример иллюстрирует использование /platform параметр компилятора.

vbc /platform:x86 myFile.vb

См. также

Ссылки

/target (Visual Basic)

Примеры командных строк компиляции (Visual Basic)

Другие ресурсы

Компилятор Visual Basic с интерфейсом командной строки