/target (Visual Basic)
指定編譯器輸出格式。
/target:{exe | library | module | winexe}
備註
下表彙總 /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: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