-target (Visual Basic)

Задает формат выходных данных компилятора.

Синтаксис

-target:{exe | library | module | winexe | appcontainerexe | winmdobj}

Замечания

Следующая таблица обобщает эффект параметра -target.

Параметр Поведение
-target:exe Предписывает компилятору создать исполняемое консольное приложение.

Это параметр по умолчанию, если параметр -target не задан. Исполняемый файл создается с расширением ЕХЕ.

Если не указано иное с помощью параметра -out, имя выходного файла совпадает с именем входного файла, который содержит процедуру Sub Main.

В файлах исходного кода, который компилируется в EXE-файл, должна быть только одна процедура Sub Main. Используйте параметр компилятора -main, чтобы указать класс, содержащий процедуру Sub Main.
-target:library Предписывает компилятору создать библиотеку динамической компоновки (DLL).

Файл библиотеки динамической компоновки создается с расширением DLL.

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

При построении библиотеки DLL процедуры Sub Main не требуется.
-target:module Предписывает компилятору создать модуль, который можно добавить в сборку.

Выходной файл создается с расширением NETMODULE.

Общеязыковая среда выполнения .NET не может загрузить файл, у которого нет сборки. Тем не менее его можно включить в манифест сборки с помощью -reference.

Если код одного модуля ссылается на внутренние типы в другом модуле, оба модуля нужно включить в манифест сборки с помощью -reference.

Параметр -addmodule импортирует метаданные из модуля.
-target:winexe Предписывает компилятору создать исполняемое приложение на основе Windows.

Исполняемый файл создается с расширением ЕХЕ. Приложение на основе Windows предоставляет пользовательский интерфейс либо из библиотеки классов .NET Framework, либо с помощью API Windows.

Если не указано иное с помощью параметра -out, имя выходного файла совпадает с именем входного файла, который содержит процедуру Sub Main.

В файлах исходного кода, который компилируется в EXE-файл, должна быть только одна процедура Sub Main. Если код содержит несколько классов с процедурой Sub Main, то с помощью параметра компилятора -main можно указать, какой класс содержит процедуру Sub Main.
-target:appcontainerexe Предписывает компилятору создать исполняемое приложение на основе Windows, которое должно выполняться в контейнере приложения. Этот параметр предназначен для использования в приложениях Магазина Windows 8. x.

Параметр appcontainerexe устанавливает бит в поле "Характеристики" переносимого исполняемого файла. Этот бит указывает, что приложение должно запускаться в контейнере приложения. Если он установлен, при попытке метода CreateProcess запустить приложение вне контейнера приложения будет возникать ошибка. Помимо этой установки бита, -target:appcontainerexe эквивалентен -target:winexe.

Исполняемый файл создается с расширением ЕХЕ.

Если не указано иное посредством параметра -out, имя выходного файла совпадает с именем входного файла, который содержит процедуру Sub Main.

В файлах исходного кода, который компилируется в EXE-файл, должна быть только одна процедура Sub Main. Если код содержит несколько классов с процедурой Sub Main, то с помощью параметра компилятора -main можно указать, какой класс содержит процедуру Sub Main.
-target:winmdobj Это предписывает компилятору создать промежуточный файл, который можно преобразовать в двоичный файл WINMD среды выполнения Windows. Этот файл WINMD можно использовать в программах на языках JavaScript и C++ в дополнение к программам, использующим управляемые языки.

Промежуточный файл создается с расширением WINMDOBJ.

Если не указано иное посредством параметра -out, имя выходного файла совпадает с именем первого входного файла. Процедура Sub Main не требуется.

Файл WINMDOBJ разработан для использования в качестве входного файла для инструмента экспорта WinMDExp, с целью создания файла метаданных Windows (WINMD). Этот файл будет иметь расширение WINMD и содержать как код из исходной библиотеки, так и определения WinMD, используемые JavaScript, C++ и средой выполнения Windows.

Если не указан -target:module, -target предписывает разместить манифест сборки .NET Framework в выходном файле.

Каждый из экземпляров vbc.exe создает не более одного выходного файла. Если указать параметр компилятора, например -out или -target, более одного раза, будет применен последний параметр, обработанный компилятором. В манифест добавляются сведения обо всех файлах в компиляции. Все выходные файлы, кроме созданных с помощью -target:module, содержат метаданные сборки в манифесте. Для просмотра метаданных в выходном файле используйте Ildasm. exe (дизассемблер IL).

Краткой формой -target является -t.

Как задать параметр -target в интегрированной среде разработки Visual Studio

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

  2. Перейдите на вкладку Приложение .

  3. Измените значение в поле Тип приложения.

Пример

Следующий код компилирует in.vb, создавая in.dll:

vbc -target:library in.vb

См. также