-target (Visual Basic)

指定編譯器輸出的格式。

語法

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

備註

下表摘要說明 -target 選項的作用。

選項 行為
-target:exe 可讓編譯器建立可執行的主控台應用程式。

這是未指定任何 -target 選項時的預設選項。 可執行檔會以 .exe 副檔名建立。

除非使用 -out 選項另外指定,否則輸出檔案名稱採用包含 Sub Main 程序的輸入檔案名稱。

編譯為 .exe 檔案的原始程式碼檔中,只需要一個 Sub Main 程序。 使用 -main 編譯器選項來指定包含 Sub Main 程序的類別。
-target:library 可讓編譯器建立動態連結程式庫 (DLL)。

動態連結程式庫檔案會以 .dll 副檔名建立。

除非使用 -out 選項另外指定,否則輸出檔案名稱採用第一個輸入檔案的名稱。

建立 DLL 時不需要 Sub Main 程序。
-target:module 可讓編譯器產生可新增至組件的模組。

輸出檔案會以 .netmodule 副檔名建立。

.NET Common Language Runtime 無法載入沒有組件的檔案。 不過,您可以使用 -reference,將這類檔案併入組件的元件資訊清單。

當模組中的程式碼參考另一個模組中的內部型別時,必須使用 -reference 將這兩個模組併入組件資訊清單。

-addmodule 選項會從模組匯入中繼資料。
-target:winexe 可讓編譯器建立可執行的 Windows 應用程式。

可執行檔會以 .exe 副檔名建立。 Windows 應用程式是從 .NET Framework 類別庫或使用 Windows API 提供使用者介面的應用程式。

除非使用 -out 選項另外指定,否則輸出檔案名稱採用包含 Sub Main 程序的輸入檔案名稱。

編譯為 .exe 檔案的原始程式碼檔中,只需要一個 Sub Main 程序。 如果您的程式碼有多個具有 Sub Main 程序的類別,請使用 -main 編譯器選項來指定包含 Sub Main 程序的類別
-target:appcontainerexe 可讓編譯器建立可執行的 Windows 應用程式,該應用程式必須在應用程式容器中執行。 此設定的設計目的是用於 Windows 8.x Store 應用程式。

appcontainerexe 設定會在可攜式可執行檔的 [特性] 欄位中設定一個位元。 這個位元表示應用程式必須在應用程式容器中執行。 設定這個位元後,如果 CreateProcess 方法嘗試在應用程式容器外部啟動應用程式,則會發生錯誤。 除了設定這個位元之外,-target:appcontainerexe 等同於 -target:winexe

可執行檔會以 .exe 副檔名建立。

除非您使用 -out 選項另外指定,否則輸出檔案名稱採用包含 Sub Main 程序的輸入檔案名稱。

編譯為 .exe 檔案的原始程式碼檔中,只需要一個 Sub Main 程序。 如果您的程式碼包含多個具有 Sub Main 程序的類別,請使用 -main 編譯器選項來指定包含 Sub Main 程序的類別
-target:winmdobj 可讓編譯器建立中繼檔案,您可以將其轉換為 Windows 執行階段二進位 (.winmd) 檔案。 除了受控語言程式之外,JavaScript 和 C++ 程式也可以使用 .winmd 檔案。

中繼檔案會以 .winmdobj 副檔名建立。

除非您使用 -out 選項另外指定,否則輸出檔案名稱採用第一個輸入檔案的名稱。 不需要 Sub Main 程序。

.winmdobj 檔案的設計目的是做為 WinMDExp 匯出工具的輸入,以產生 Windows 中繼資料 (WinMD) 檔案。 WinMD 檔案具有 .winmd 副檔名,包含有來自原始程式庫的程式碼,以及 JavaScript、C++ 和Windows 執行階段使用的 WinMD 定義。

除非您指定 -target:module,否則 -target 可讓 .NET Framework 組件資訊清單新增至輸出檔案。

每個 Vbc.exe 執行個體最多產生一個輸出檔案。 如果您指定編譯器選項 (例如 -out-target) 超過一次,則編譯器處理最後一次的選項會生效。 編譯中所有檔案的資訊會新增至資訊清單。 除了使用 -target:module 建立的輸出檔案之外,所有輸出檔案在資訊清單中皆包含有組件中繼資料。 使用 Ildasm.exe (IL Disassembler) 可檢視輸出檔案中的中繼資料。

-target 的簡短形式為 -t

在 Visual Studio IDE 中設定 -target

  1. 方案總管中選取專案。 按一下 [專案] 功能表上的 [屬性]

  2. 按一下 [應用程式] 索引標籤。

  3. 修改 [應用程式類型] 方塊中的值。

範例

下列程式碼會編譯 in.vb,建立 in.dll

vbc -target:library in.vb

另請參閱