/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
В Обозревателя решений, выберите проект, открыть проекта меню, а затем нажмите Свойства.
Дополнительные сведения см. в разделе Знакомство с конструктором проектов.
На компиляции вкладке установите или снимите предпочитают 32-разрядные флажок, или в Целевой Процессор список, выберите значение.
Дополнительные сведения см. в разделе Страница "Компиляция" в конструкторе проектов (Visual Basic).
Пример
Следующий пример иллюстрирует использование /platform параметр компилятора.
vbc /platform:x86 myFile.vb
См. также
Ссылки
Примеры командных строк компиляции (Visual Basic)