LC タスク

LC.exe をラップします。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 型のパラメーターです。

resgen.exe などの SDK ツールのパスを指定します。
Sources 必須の ITaskItem[] 型のパラメーターです。

.licenses ファイルに組み込むライセンス付きコンポーネントを格納するアイテムを指定します。 詳細については、「Lc.exe (ライセンス コンパイラ)」にある /complist スイッチの説明を参照してください。

ToolTaskExtension パラメーター

このタスクが ToolTaskExtension クラスを継承します。このクラスは ToolTask クラスから継承され、さらに、このクラス自体は Task から継承されます。 この継承チェーンにより、これらのクラスから派生したタスクにいくつかのパラメーターが追加されます。

基本クラスのパラメーターの説明を次の表に示します。

パラメーター 説明
EchoOff 省略可能な bool 型のパラメーターです。

true に設定すると、このタスクは /Qcmd.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 型のパラメーターです。

タスクで基になる実行可能ファイルを読み込む場所を指定します。 このパラメーターを指定しない場合、タスクでは、MSBuild を実行しているフレームワークのバージョンに対応する SDK インストール パスが使用されます。
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>

関連項目