-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
Выберите проект в Обозревателе решений. В меню Проект выберите пункт Свойства.
Перейдите на вкладку Приложение .
Измените значение в поле Тип приложения.
Пример
Следующий код компилирует in.vb
, создавая in.dll
:
vbc -target:library in.vb