Vbc 工作
包裝 vbc.exe,這會產生可執行檔 (.exe)、動態連結程式庫 (.dll) 或程式碼模組 (.netmodule)。 如需 vbc.exe 的詳細資訊,請參閱 Visual Basic 命令列編譯器。
參數
下表說明 Vbc
工作的參數。
參數 | 描述 |
---|---|
AdditionalLibPaths |
選擇性的 String[] 參數。指定其他資料夾,在其中尋找參考屬性中指定的組件。 |
AddModules |
選擇性的 String[] 參數。讓編譯器將所指定檔案的類型資訊全部提供給您目前編譯的專案。 此參數對應至 vbc.exe 編譯器的 -addmodule 參數。 |
BaseAddress |
選擇性的 String 參數。指定 DLL 的基底位址。 此參數對應至 vbc.exe 編譯器的 -baseaddress 參數。 |
CodePage |
選擇性的 Int32 參數。指定編譯過程中所有原始程式碼檔使用的字碼頁。 此參數對應至 vbc.exe 編譯器的 -codepage 參數。 |
DebugType |
選擇性的 String[] 參數。造成編譯器產生偵錯資訊。 此參數的值如下: - full - pdbonly 預設值為 full ,可將偵錯工具附加至執行中的程式。 pdbonly 值可於偵錯工具中啟動程式時,讓原始程式碼進行偵錯,但只有當執行中的程式附加在偵錯工具時,才會顯示組合語言程式碼。 如需詳細資訊,請參閱 -debug (Visual Basic)。 |
DefineConstants |
選擇性的 String[] 參數。定義條件式編譯器常數。 符號/值組會以分號分隔,並且使用下列語法指定: symbol1 value1 ; = symbol2 = value2此參數對應至 vbc.exe 編譯器的 -define 參數。 |
DelaySign |
選擇性的 Boolean 參數。如為 true ,工作會將公開金鑰放在組件中。 如為 false ,工作會完整簽署組件。 預設值為 false 。此參數除非搭配 KeyFile 參數或 KeyContainer 參數使用,否則沒有任何作用。 此參數對應至 vbc.exe 編譯器的 -delaysign 參數。 |
Deterministic |
選擇性的 Boolean 參數。若為 true ,可讓編譯器輸出在輸入相同時編譯之間二進位內容相同的組件。如需詳細資訊,請參閱 -deterministic。 |
DisabledWarnings |
選擇性的 String 參數。隱藏指定的警告。 您只需要指定警告識別項的數值部分。 若有多個警告,則會以分號分隔。 此參數對應至 vbc.exe 編譯器的 -nowarn 參數。 |
DocumentationFile |
選擇性的 String 參數。將文件註解處理成指定的 XML 檔案。 此參數會覆寫 GenerateDocumentation 屬性。 如需詳細資訊,請參閱 -doc。 |
EmitDebugInformation |
選擇性的 Boolean 參數。如果是 true ,工作就會產生偵錯資訊,並將其放在 .pdb 檔案中。 如需詳細資訊,請參閱 -debug (Visual Basic)。 |
ErrorReport |
選擇性的 String 參數。指定工作應如何報告編譯器內部錯誤。 此參數的值如下: - prompt - send - none 如果指定 prompt 且發生編譯器內部錯誤時,會提示使用者選擇是否將錯誤資料傳送給 Microsoft。如果指定 send 且發生編譯器內部錯誤時,工作會將錯誤資料傳送給 Microsoft。預設值為 none ,僅報告文字輸出中的錯誤。此參數對應至 vbc.exe 編譯器的 -errorreport 參數。 |
FileAlignment |
選擇性的 Int32 參數。以位元組為單位,指定要對齊輸出檔案區段的位置。 此參數的值如下: - 512 - 1024 - 2048 - 4096 - 8192 此參數對應至 vbc.exe 編譯器的 -filealign 參數。 |
GenerateDocumentation |
選擇性的 Boolean 參數。如果為 true 則產生文件資訊,並將該資訊放入 XML 檔中,此檔案的名稱為工作所建立的可執行檔或程式庫名稱。 如需詳細資訊,請參閱 -doc。 |
Imports |
選擇性的 ITaskItem[] 參數。從指定的項目集合匯入命名空間。 此參數對應至 vbc.exe 編譯器的 -imports 參數。 |
KeyContainer |
選擇性的 String 參數。指定密碼編譯金鑰容器的名稱。 此參數對應至 vbc.exe 編譯器的 -keycontainer 參數。 |
KeyFile |
選擇性的 String 參數。指定包含密碼編譯金鑰的檔名。 如需詳細資訊,請參閱 -keyfile。 |
LangVersion |
選擇性的 System.String 參數。 指定語言版本,例如 "15.5"。 |
LinkResources |
選擇性的 ITaskItem[] 參數。在輸出檔中建立 .NET Framework 資源的連結;不要將資源檔放置於輸出檔中。 此參數對應至 vbc.exe 編譯器的 -linkresource 參數。 |
MainEntryPoint |
選擇性的 String 參數。指定包含 Sub Main 程序的類別或模組。 這個參數對應於 vbc.exe 編譯器的 -main 參數。 |
ModuleAssemblyName |
選擇性的 String 參數。指定將包含此模組的組件。 |
NoConfig |
選擇性的 Boolean 參數。指定編譯器不應使用 vbc.rsp 檔案。 此參數對應至 vbc.exe 編譯器的 -noconfig 參數。 |
NoLogo |
選擇性的 Boolean 參數。如果是 true ,即會隱藏顯示編譯器橫幅資訊。 此參數對應至 vbc.exe 編譯器的 -nologo 參數。 |
NoStandardLib |
選擇性的 Boolean 參數。使編譯器不要參考標準程式庫。 此參數對應至 vbc.exe 編譯器的 -nostdlib 參數。 |
NoVBRuntimeReference |
選擇性的 Boolean 參數。僅供內部使用。 如果為 true,則防止自動參考 Microsoft.VisualBasic.dll。 |
NoWarnings |
選擇性的 Boolean 參數。如果是 true ,工作便會隱藏所有警告。 如需詳細資訊,請參閱 -nowarn。 |
Optimize |
選擇性的 Boolean 參數。如為 true ,則啟用編譯器最佳化。 此參數對應至 vbc.exe 編譯器的 -optimize 參數。 |
OptionCompare |
選擇性的 String 參數。指定如何進行字串比較。 此參數的值如下: - binary - text 值 binary 指定此工作使用二進位字串比較。 值 text 指定此工作使用文字字串比較。 此參數的預設值為 binary 。 此參數對應至 vbc.exe 編譯器的 -optioncompare 參數。 |
OptionExplicit |
選擇性的 Boolean 參數。如為 true ,則需要明確宣告變數。 此參數對應至 vbc.exe 編譯器的 -optionexplicit 參數。 |
OptionInfer |
選擇性的 Boolean 參數。如為 true ,允許變數的類型推斷。 |
OptionStrict |
選擇性的 Boolean 參數。如為 true ,工作會強制執行嚴格的類型語意來限制隱含類型轉換。 此參數對應至 vbc.exe 編譯器的 -optionstrict 參數。 |
OptionStrictType |
選擇性的 String 參數。指定哪些嚴格的類型語意會產生警告。 目前只支援 "custom"。 此參數對應至 vbc.exe 編譯器的 -optionstrict 參數。 |
OutputAssembly |
選擇性的 String 輸出參數。指定輸出檔案的名稱。 這個參數對應於 vbc.exe 編譯器的 -out 參數。 |
Platform |
選擇性的 String 參數。指定輸出檔設為目標的處理器平台。 這個參數可以具有 x86 、x64 、Itanium 或 anycpu 的值。 預設值為 anycpu 。 這個參數對應於 vbc.exe 編譯器的 -platform 參數。 |
References |
選擇性的 ITaskItem[] 參數。導致工作將公用類型資訊從指定的項目匯入目前的專案。 這個參數對應於 vbc.exe 編譯器的 -reference 參數。 |
RemoveIntegerChecks |
選擇性的 Boolean 參數。如為 true ,停用整數的溢位錯誤檢查。 預設值是 false 。 這個參數對應於 vbc.exe 編譯器的 -removeintchecks 參數。 |
Resources |
選擇性的 ITaskItem[] 參數。將 .NET Framework 資源內嵌到輸出檔中。 這個參數對應於 vbc.exe 編譯器的 -resource 參數。 |
ResponseFiles |
選擇性的 ITaskItem[] 參數。指定包含適用於此工作之命令的回應檔。 此參數對應至 vbc.exe 編譯器的 @ (指定回應檔) 選項。 |
RootNamespace |
選擇性的 String 參數。指定所有類型宣告的根命名空間。 這個參數對應於 vbc.exe 編譯器的 -rootnamespace 參數。 |
SdkPath |
選擇性的 String 參數。指定 mscorlib.dll 和 microsoft.visualbasic.dll 的位置。 這個參數對應於 vbc.exe 編譯器的 -sdkpath 參數。 |
Sources |
選擇性的 ITaskItem[] 參數。指定一或多個 Visual Basic 來源檔案。 |
TargetCompactFramework |
選擇性的 Boolean 參數。如果為 true ,則工作會以 .NET Compact Framework 為目標。 這個參數對應於 vbc.exe 編譯器的 -netcf 參數。 |
TargetType |
選擇性的 String 參數。指定輸出檔的檔案格式。 此參數的值如下: library (可建立程式碼程式庫)、exe (可建立主控台應用程式)、module (可建立模組) 或 winexe (可建立 Windows 程式)。 預設值為 library 。 這個參數對應於 vbc.exe 編譯器的 -target 參數。 |
Timeout |
選擇性的 Int32 參數。指定時間量 (以毫秒為單位),在此時間量之後會終止工作可執行檔。 預設值是 Int.MaxValue ,表示沒有逾時期間。 |
ToolPath |
選擇性的 String 參數。指定位置,工作會從該位置載入基礎可執行檔 (vbc.exe)。 如果未指定這個參數,此工作會使用 SDK 安裝路徑,此路徑對應到執行 MSBuild 之架構的版本。 |
TreatWarningsAsErrors |
選擇性的 Boolean 參數。如為 true ,所有警告都視為錯誤。 如需詳細資訊,請參閱 -warnaserror (Visual Basic)。 |
UseHostCompilerIfAvailable |
選擇性的 Boolean 參數。如果有的話,即會指示工作來使用同處理序編譯器物件。 僅 Visual Studio 使用。 |
Utf8Output |
選擇性的 Boolean 參數。使用 UTF-8 編碼記錄編譯器輸出。 這個參數對應於 vbc.exe 編譯器的 -utf8output 參數。 |
Verbosity |
選擇性的 String 參數。指定編譯器輸出的詳細資訊。 詳細資訊可以是 Quiet 、Normal (預設值) 或 Verbose 。 |
WarningsAsErrors |
選擇性的 String 參數。指定要視為錯誤的警告清單。 如需詳細資訊,請參閱 -warnaserror (Visual Basic)。 此參數會覆寫 TreatWarningsAsErrors 參數。 |
WarningsNotAsErrors |
選擇性的 String 參數。指定不要視為錯誤的警告清單。 如需詳細資訊,請參閱 -warnaserror (Visual Basic)。 唯有將 TreatWarningsAsErrors 參數設為 true 時,此參數才有用。 |
Win32Icon |
選擇性的 String 參數。在組件中插入 .ico 檔案,讓輸出檔在 [檔案總管] 中具有所需的外觀。 這個參數對應於 vbc.exe 編譯器的 -win32icon 參數。 |
Win32Resources |
選擇性的 String 參數。將 Win32 資源檔 (.res) 插入輸出檔中。 這個參數對應於 vbc.exe 編譯器的 -win32resource 參數。 |
ToolTaskExtension 參數
此工作繼承自 ToolTaskExtension 類別,該類別繼承自 ToolTask 類別,而其本身繼承自 Task 類別。 此繼承鏈結將數個參數加入至從它們衍生的工作。
下表說明基底類別的參數:
參數 | 描述 |
---|---|
EchoOff | 選擇性的 bool 參數。當設定為 true 時,此工作會將 /Q 傳遞至 cmd.exe 命令列,使命令列不會被複製到 stdout。 |
EnvironmentVariables | 選擇性 String 陣列參數。環境變數定義的陣列 (以分號分隔)。 每個定義都應該指定以等號分隔的環境變數名稱和值。 這些變數是在規則環境區塊以外傳遞至繁衍的可執行檔,或選擇性地覆寫。 例如: Variable1=Value1;Variable2=Value2 。 |
ExitCode | 選擇性 Int32 輸出唯讀參數。指定已執行命令提供的結束代碼。 如果工作已記錄任何錯誤,但是此程序具有結束代碼 0 (成功),這會設為 -1。 |
LogStandardErrorAsError | 選擇性的 bool 參數。如果為 true ,則標準錯誤資料流上收到的所有訊息都會記錄為錯誤。 |
StandardErrorImportance | 選擇性的 String 參數。用來從標準錯誤資料流記錄文字的重要性。 |
StandardOutputImportance | 選擇性的 String 參數。用來從標準輸出資料流記錄文字的重要性。 |
Timeout | 選擇性的 Int32 參數。指定時間量 (以毫秒為單位),在此時間量之後會終止工作可執行檔。 預設值是 Int.MaxValue ,表示沒有逾時期間。 逾時是以毫秒為單位。 |
ToolExe | 選擇性的 string 參數。專案可能會實作此項目以覆寫 ToolName。 工作可能會覆寫此項目以保留 ToolName。 |
ToolPath | 選擇性的 string 參數。指定位置,工作會從該位置載入基礎可執行檔。 如果未指定這個參數,工作會使用 SDK 安裝路徑,對應於執行 MSBuild 的架構版本。 |
UseCommandProcessor | 選擇性的 bool 參數。當設為 true 時,這項工作會針對命令列建立批次檔,並且使用命令處理器來執行,而不是直接執行命令。 |
YieldDuringToolExecution | 選擇性的 bool 參數。當設為 true 時,這項工作在執行其工作時,會產生節點。 |
範例
下列範例會編譯 Visual Basic 專案。
<VBC
Sources="@(sources)"
Resources="strings.resources"
Optimize="true"
OutputAssembly="out.exe"/>