/Platform (Visual Basic)

Обновлен: Ноябрь 2007

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

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

Аргументы

  • anycpu
    Компилирует сборку для запуска на любой платформе. Это поведение по умолчанию, если не указан параметр /platform.

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

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

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

Заметки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Чтобы установить параметр /nowarn в среде разработки Visual Studio

  1. Выберите проект в обозревателе решений. В меню Проект выберите пункт Свойства. Дополнительные сведения см. в разделе Знакомство с конструктором проектов.

  2. Перейдите на вкладку Компилировать.

  3. Щелкните кнопку Дополнительно.

  4. Измените значение в поле со списком Конечный ЦП.

Пример

В следующем примере показано использование /platform для указания того, что приложение должно выполняться на 64-разрядной среде CLR с 64-разрядной операционной системой Windows для платформы Itanium.

vbc /platform:Itanium myItanium.vb

См. также

Ссылки

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

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

Компилятор Visual Basic