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 參數。

指定輸出檔設為目標的處理器平台。 這個參數可以具有 x86x64Itaniumanycpu 的值。 預設值為 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 參數。

指定編譯器輸出的詳細資訊。 詳細資訊可以是 QuietNormal (預設值) 或 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"/>

另請參閱