/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 將這類檔案合併至組件的組件資訊清單 (Assembly Manifest) 中。 當某個模組中的程式碼參考其他模組中的內部型別時,必須使用 /reference 將這兩個模組加入組件資訊清單中。 /addmodule 選項會從模組匯入中繼資料。 |
/target:winexe |
讓編譯器建立可執行的 Windows 應用程式。 建立的可執行檔具有 .exe 副檔名。 Windows 應用程式是從 .NET Framework 類別庫 (Class Library) 或以 Win32 API 提供使用者介面。 除非用 /out 選項指定輸出檔名稱,否則輸出檔名會取自包含 Sub Main 程序的輸入檔名。 編譯成 .exe 檔案的原始程式碼檔中只需要一個 Sub Main 程序。 當您的程式碼具有多個擁有 Sub Main 程序的類別時,請使用 /main 編譯器選項,指定哪個類別包含 Sub Main 程序 |
/target:appcontainerexe |
讓編譯器建立應用程式容器必須執行的可執行的 Windows 架構應用程式。 這個設定是設計為 Windows 市集 應用程式使用。 將集合的 appcontainerexe 位在特性 可移植的執行檔 (PE)。 檔案欄位。 這個欄位指示應用程式在容器必須執行應用程式。 當這個欄位設定時,就會發生錯誤,則 CreateProcess 方法嘗試啟動應用程式容器之外。 刪除這個欄位設定之外, /target:appcontainerexe 與 /target:winexe相當於。 建立的可執行檔具有 .exe 副檔名。 您可以使用 /out 選項,除非另有指定,否則輸出檔名會取自包含 Sub Main 程序輸入檔案的名稱。 編譯成 .exe 檔案的原始程式碼檔中只需要一個 Sub Main 程序。 如果您的程式碼包含多個擁有 Sub Main 程序的類別,請使用 /main 編譯器選項指定含有 Sub Main 程序 |
/target:winmdobj |
讓編譯器建立可轉換為 Windows 執行階段二進位的中繼檔 (.winmd) 檔案。 除了 Managed 程式語言以外, .winmd 檔案可由 JavaScript 和 C++ 程式會使用。 中繼檔案建立 .winmdobj 副檔名。 您可以使用 /out 選項,除非另有指定,否則輸出檔名會取自第一個輸入檔的名稱。 不需要 Sub Main 程序。 .winmdobj 檔案是設計用來做為輸入以 WinMDExp 匯出工具可能會導致視窗中繼資料 (WinMD) 檔。 WinMD 檔案具有 .winmd 副檔名並包含從原始程式庫的程式碼和 JavaScript、C++ 和 Windows 執行階段所使用的 WinMD 定義。 |
除非您指定的是 /target:module,否則 /target 會將 .NET Framework 組件資訊清單加入至輸出檔。
每一個 Vbc.exe 的執行個體 (Instance) 最多只會產生一個輸出檔。 如果您指定的編譯器選項 (如 /out 或 /target) 超過一次以上,則編譯器所處理的最後一個選項會生效。 編譯中所有檔案的相關資訊都會加入至資訊清單。 除了使用 /target:module 建立的輸出檔之外,所有輸出檔在資訊清單中都包含組件中繼資料。 請使用 Ildasm.exe (MSIL 反組譯工具) 檢視輸出檔案中的中繼資料。
/target 的簡短形式為 /t。
若要在 Visual Studio IDE 中設定 /target
在 [方案總管] 中選取專案。 在 [專案] 功能表上,按一下 [屬性]。 如需詳細資訊,請參閱專案設計工具簡介。
按一下 [應用程式] 索引標籤。
修改 [應用程式類型] 方塊中的值。
範例
下列程式碼會編譯 in.vb,並建立 in.dll:
vbc /target:library in.vb