共用方式為


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>

另請參閱