Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Указывает, какая версия платформы среды CLR может запускать выходной файл.
Синтаксис
-platform:{ x86 | x64 | Itanium | arm | anycpu | anycpu32bitpreferred }
Аргументы
| Срок | Определение |
|---|---|
x86 |
Компилирует сборку для запуска с помощью 32-разрядной среды CLR, совместимой с x86. |
x64 |
Компилирует сборку для запуска 64-разрядной среды CLR на компьютере, поддерживающем набор инструкций AMD64 или EM64T. |
Itanium |
Компилирует сборку для запуска 64-разрядной среды CLR на компьютере с процессором Itanium. |
arm |
Компилирует сборку для запуска на компьютере с процессором ARM (advanced RISC Machine). |
anycpu |
Компилирует сборку для запуска на любой платформе. Приложение будет работать как 32-разрядное приложение в 32-разрядных версиях Windows и в качестве 64-разрядного приложения в 64-разрядных версиях Windows. Этот флаг является значением по умолчанию. |
anycpu32bitpreferred |
Компилирует сборку для запуска на любой платформе. Приложение будет работать как 32-разрядное приложение в 32-разрядных и 64-разрядных версиях Windows. Этот флаг действителен только для исполняемых файлов (.EXE) и требует .NET Framework 4.5. |
Замечания
-platform Используйте параметр, чтобы указать тип процессора, предназначенный для выходного файла.
Как правило, сборки .NET Framework, написанные в Visual Basic, будут работать одинаково независимо от платформы. Однако существуют некоторые случаи, которые ведут себя по-разному на разных платформах. Ниже приведены распространенные случаи:
Структуры, содержащие элементы, которые изменяют размер в зависимости от платформы, например любого типа указателя.
Арифметика указателя, включающая размеры констант.
Неправильные вызовы платформы или объявления COM, которые используют
Integerдля дескрипторов вместо IntPtr.IntPtr Приведение к
Integer.Использование вызова платформы или COM-взаимодействия с компонентами, которые не существуют на всех платформах.
Параметр -platform поможет устранить некоторые проблемы, если вы знаете, что вы сделали предположения об архитектуре, в который будет выполняться код. Конкретно:
Если вы решили нацелиться на 64-разрядную платформу, и приложение выполняется на 32-разрядном компьютере, сообщение об ошибке приходит гораздо раньше и более ориентировано на проблему, чем ошибка, которая возникает без использования этого параметра.
Если установить
x86флаг в параметре, а приложение впоследствии запускается на 64-разрядном компьютере, приложение будет работать в подсистеме WOW вместо запуска в собственном коде.
В 64-разрядной ОС Windows:
Сборки, скомпилированные с
-platform:x86использованием, будут выполняться в 32-разрядной среде CLR, работающей в WOW64.Исполняемые файлы, скомпилированные с
-platform:anycpuпомощью 64-разрядной среды CLR.Библиотека DLL, скомпилированная с помощью среды CLR,
-platform:anycpuвыполняется в том же среде CLR, в которую она загружается.Исполняемые файлы, скомпилированные с
-platform:anycpu32bitpreferredпомощью 32-разрядной среды CLR.
Дополнительные сведения о разработке приложения для запуска в 64-разрядной версии Windows см. в 64-разрядной версии приложений.
Установка -platform в интегрированной среде разработки Visual Studio
В обозревателе решений выберите проект, откройте меню "Проект " и нажмите кнопку "Свойства".
На вкладке "Компиляция " установите или снимите флажок "Предпочитать 32-разрядную" или в списке целевого ЦП выберите значение.
Дополнительные сведения см. на странице компиляции конструктора проектов (Visual Basic).
Пример
В следующем примере показано, как использовать параметр компилятора -platform .
vbc -platform:x86 myFile.vb