LC 工作
包裝 LC.exe (會從 .licx 檔案產生 .license 檔案)。 如需有關 LC.exe 的詳細資訊,請參閱 Lc.exe (授權編譯器)。
參數
下表說明 LC
工作的參數。
參數 | 描述 |
---|---|
LicenseTarget |
必要的 ITaskItem 參數。 指定要產生 .licenses 檔案的可執行檔。 |
NoLogo |
選擇性的 Boolean 參數。隱藏 Microsoft 程式啟始資訊顯示。 |
OutputDirectory |
選擇性的 String 參數。指定要在其中放置輸出 .licenses 檔案的目錄。 |
OutputLicense |
選擇性的 ITaskItem 輸出參數。 指定 .licenses 檔案的名稱。 如果未指定名稱,就會使用 .licx 檔案的名稱,並將 .licenses 檔案放在包含 .licx 檔案的目錄中。 |
ReferencedAssemblies |
選擇性的 ITaskItem[] 參數。指定產生 .license 檔案時所要載入的參考元件。 |
SdkToolsPath |
選擇性的 String 參數。指定 SDK 工具 (例如 resgen.exe) 的路徑。 |
Sources |
必要的 ITaskItem[] 參數。指定含有 .licenses 檔案所要包含之授權元件的項目。 如需詳細資訊,請參閱 Lc.exe (授權編譯器) 中 /complist 參數的記載說明。 |
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 時,這項工作在執行其工作時,會產生節點。 |
範例
下列範例會使用 LC
工作來編譯授權。
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Item declarations, etc -->
<Target Name="CompileLicenses">
<LC
Sources="@(LicxFile)"
LicenseTarget="$(TargetFileName)"
OutputDirectory="$(IntermediateOutputPath)"
OutputLicenses="$(IntermediateOutputPath)$(TargetFileName).licenses"
ReferencedAssemblies="@(ReferencePath);@(ReferenceDependencyPaths)">
<Output
TaskParameter="OutputLicenses"
ItemName="CompiledLicenseFile"/>
</LC>
</Target>
</Project>