/platform (Visual Basic)
Указывает, на какой версии платформы среды CLR может запускаться выходной файл.
/platform:{ x86 | x64 | Itanium | arm | anycpu | anycpu32bitpreferred }
Аргументы
Термин |
Определение |
x86 |
Компилирует сбору для запуска в 32-разрядной среде CLR с архитектурой x86. |
x64 |
Компилирует сбору для запуска в 64-разрядной среде CLR на компьютере, поддерживающем набор инструкций AMD64 или EM64T. |
Itanium |
Компилирует сбору для запуска в 64-разрядной среде CLR на компьютере с процессором Itanium. |
arm |
Компилирует сбору для запуска на компьютере с процессором ARM. |
anycpu |
Компилирует сбору для запуска на любой платформе. Приложение будет выполняться как 32-разрядное приложение в 32-разрядных версиях Windows и как 64-разрядное приложение в 64-разрядных версиях Windows. Этот флаг — значение по умолчанию. |
anycpu32bitpreferred |
Компилирует сбору для запуска на любой платформе. Приложение будет выполняться как 32-разрядное приложение в 32-разрядных и 64-разрядных версиях Windows. Этот флаг действителен только для исполняемых файлов (.EXE), для него требуется .NET Framework 4,5. |
Заметки
Используйте параметр /platform, чтобы указать процессор назначения для выходного файла.
В целом, сборки .NET Framework, написанные на Visual Basic, будут работать одинаково вне зависимости от платформы. Тем не менее, в некоторых случаях поведение программ на разных платформах может различаться. Вот эти случаи:
Структуры, содержащие члены, размер которых изменяется в зависимости от платформы, например, любые типы указателей.
Арифметика указателя, содержащая постоянные размеры.
Неверный вызов платформ или объявления СОМ, использующие дескрипторы Integer вместо IntPtr.
Приведение IntPtr к Integer.
Использование вызов платформ или взаимодействия СОМ с компонентами, существующими не на всех платформах.
Параметр /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
В обозревателе решений выберите проект, откройте меню Проект и выберите Свойства.
Для получения дополнительной информации см. Introduction to the Project Designer.
На вкладке Компиляция установите или снимите флажок Предпочитать 32-разрядн. или выберите значение в списке Целевой ЦП.
Для получения дополнительной информации см. Страница "Компиляция" в конструкторе проектов (Visual Basic).
Пример
В следующем примере показано использование параметра компилятора /platform.
vbc /platform:x86 myFile.vb
См. также
Ссылки
Примеры командных строк компиляции (Visual Basic)