/platform (Visual Basic)
Указывает какая версия платформы среды 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 |
|
Пример
В следующем примере показано использование /platform для указания того, что приложение должно выполняться на 64-разрядной среде CLR с 64-разрядной операционной системой Windows для платформы Itanium.
vbc /platform:Itanium myItanium.vb
См. также
Ссылки
Примеры командных строк компиляции (Visual Basic)