MSBuild リファレンス
MSBuild と一緒に Dotfuscator を使用する方法の詳細については、MSBuild インターフェイスのページを参照してください。
インストール場所
MSBuild コンポーネントは $(MSBuildExtensionsPath)\PreEmptive\Dotfuscator\4
ディレクトリにインストールされます。
$(MSBuildExtensionsPath)
は MSBuild によってあらかじめ定義されていますが、その値は使用する MSBuild に応じて異なります。Dotfuscator は、インストール時に統合を有効にした Visual Studio ごとの MSBuild 拡張パスだけでなく、システム全体の MSBuild 拡張パスにインストールします。
$(MSBuildExtensionsPath)\PreEmptive\Dotfuscator\4
パスは、4.x.x
シリーズからインストールされた最新のコンポーネントを参照します。マイナー シリーズの最新(4.98.x
など)、または特定のバージョン(4.98.1
など)を参照する場合は、さらにサブディレクトリがあります。これは、サイド バイ サイド インストールを使用するときに役立ちます。ディレクトリの構造は次のようになります。
$(MSBuildExtensionsPath)\PreEmptive\Dotfuscator\<major>
$(MSBuildExtensionsPath)\PreEmptive\Dotfuscator\<major>\<major>.<minor>
$(MSBuildExtensionsPath)\PreEmptive\Dotfuscator\<major>\<major>.<minor>\<major>.<minor>.<patch>
たとえば、(架空の)バージョン 4.98.0
、4.98.1
、および 4.99.0
を サイド バイ サイド インストールしたとします。以下は、注釈付きのディレクト一覧とそれらに含まれているものを表しています。
<!-- Contains 4.98.0 -->
$(MSBuildExtensionsPath)\PreEmptive\Dotfuscator\4\4.98\4.98.0
<!-- Contains 4.98.1 -->
$(MSBuildExtensionsPath)\PreEmptive\Dotfuscator\4\4.98
$(MSBuildExtensionsPath)\PreEmptive\Dotfuscator\4\4.98\4.98.1
<!-- Contains 4.99.0 -->
$(MSBuildExtensionsPath)\PreEmptive\Dotfuscator\4
$(MSBuildExtensionsPath)\PreEmptive\Dotfuscator\4\4.99
$(MSBuildExtensionsPath)\PreEmptive\Dotfuscator\4\4.99\4.99.0
ターゲットのリファレンス
Dotfuscator の MSBuild ターゲット、PreEmptive.Dotfuscator.Common.targets を使用すると、Dotfuscator を Visual Studio または MSBuild プロジェクトに簡単に統合することができます。 MSBuild ターゲットは、パッケージを行う前、アセンブリのビルド処理の直後に Dotfuscator を実行するよう、設計されています。
利用可能なプロパティ
Dotfuscator のターゲットによって認識されるプロパティは次のとおりです。
-
- Dotfuscator の統合を動作させるかどうかを決定します。
- "true" の場合は、Dotfuscator によりプロジェクトが保護されます。
- "false" の場合は、このビルドでは Dotfuscator がスキップされます。
- 既定値は "false" です。
- Dotfuscator の統合を動作させるかどうかを決定します。
-
- Dotfuscator 構成ファイルの(MSBuild プロジェクト ファイルと同じディレクトリからの相対)パスです。
- このファイルは、"DotfuscatorGenerateConfigFileIfMissing" を "true" に設定する場合にはなくても構いません。
- 既定値は "DotfuscatorConfig.xml" です。
DotfuscatorGenerateConfigFileIfMissing
- "DotfuscatorConfigPath" に指定されたファイルが存在しない場合に、ビルド時に実行する内容を決定します。
- "true" の場合は、Dotfuscator により、関連する MSBuild プロパティを使って、パス "DotfuscatorConfigPath" に新しい構成ファイルが生成されます。
- "false" の場合は、Dotfuscator でこのビルドが失敗します。
- 既定値は "true" です。
- "DotfuscatorConfigPath" に指定されたファイルが存在しない場合に、ビルド時に実行する内容を決定します。
DotfuscatorAndroidSigningCertFingerprint
- Xamarin Android アプリケーションへの署名に使用する証明書の SHA-1 指紋を指定します。
- Xamarin Android アプリケーションに改ざんチェックを差し込む場合にのみ必要です。
- 既定では、このプロパティは設定されません。
-
- Dotfuscator ライセンス キーを指定してアクティブ化し、この Dotfuscator 実行用に使用します。 通常、これはフローティング ライセンスで行われます。
- また、別のライセンス キーが環境変数またはライセンス ファイルで指定されている場合でも、このプロパティの値が使用されます。
- 既定では、このプロパティは設定されません。
メモ:プロパティ値を引用符で囲んだり、プロパティ値の末尾にスラッシュや円記号を付けたりしないでください。
MSBuild タスク リファレンス
Dotfuscator は、PreEmptive.Dotfuscator.Tasks.dll に定義されているタスクを使用して MSBuild インターフェイスを提供します。
MSBuild スクリプトにインポートすることができるターゲット テンプレート、PreEmptive.Dotfuscator.targetsもあります。 このファイルは同じディレクトリにインストールされます。
Dotfuscate タスク
Dotfuscate タスクを使用して、MSBuild から Dotfuscator を実行することができます。 以下の表は、Dotfuscate タスクによって提供されるプロパティを示しています。
プロパティ | 型 | 説明 |
---|---|---|
ConfigPath |
string |
必須。書き込み専用。Dotfuscator 構成へのパスを設定します。 |
DebugSymbols |
string[] |
読み取り専用。出力アセンブリに関連付けられている PDB ファイルを公開します。PreEmptive.Dotfuscator.targets ファイルは、このプロパティを DotfuscatedDebugSymbols という名前の出力項目として公開しています。 |
InputAssemblies |
ITaskItem[] |
書き込み専用。入力アセンブリを設定します。InputAssemblies に指定された入力は、Dotfuscator 構成に列挙されている入力とマージされます。 |
InputManagement |
string |
書き込み専用。Dotfuscate タスクでの入力の使用方法を設定します。automatic を指定する場合は、Dotfuscator により、入力が InputAssemblies プロパティからのみ取得されて、構成内の対応する入力が更新されます。manual を指定するか、何も指定しない場合は、InputAssemblies に指定された入力と構成に指定された入力が Dotfuscator によりマージされます。 |
License |
string |
Dotfuscator ライセンス キーを指定してアクティブ化し、この Dotfuscator 実行用に使用します。通常、このライセンス キーはフローティング ライセンスです。別のライセンス キーが環境変数またはライセンス ファイルで指定されている場合でも、このプロパティの値が使用されます。 |
MappingFile |
string |
読み取り専用。名前変更の割り当てファイルを公開します。PreEmptive.Dotfuscator.targets ファイルは、このプロパティを DotfuscatorMappingFile という名前の出力項目として公開しています。 |
OutputAssemblies |
string[] |
読み取り専用。出力アセンブリを公開します。PreEmptive.Dotfuscator.targets ファイルは、このプロパティを DotfuscatedAssemblies という名前の出力項目として公開しています。 |
OutputDirectory |
string |
書き込み専用。Dotfuscator が出力アセンブリを書き込むディレクトリを設定します。このディレクトリは、Dotfuscator 構成に指定された出力ディレクトリを上書きします。 |
Properties |
string |
書き込み専用。ユーザー定義の外部プロパティを設定します。文字列は、キー/値のペアを表す子要素を持つ、有効な XML 要素を含んでいる必要があります。 たとえば、次のようになります。 <Properties> <Property1>Value1</Property1> <Property2>2</Property2> </Properties> |
ReportFiles |
string[] |
読み取り専用。HTML 形式の名前の変更レポートや除去レポートなどのレポート ファイルを公開します。 |
SatelliteAssemblies |
string[] |
読み取り専用。出力アセンブリに関連付けられているサテライト アセンブリを公開します。PreEmptive.Dotfuscator.targets ファイルは、このプロパティを DotfuscatedSatelliteAssemblies という名前の出力項目として公開しています。 |
PreMark タスク
PreMark タスクを使用すると、以前にウォーターマーク設定したアセンブリからウォーターマークを抽出できます。 これは、Dotfuscator インストール ディレクトリにある、コマンド ライン プログラムの Premark.exe と類似した機能を提供します。
プロパティ | 型 | 説明 |
---|---|---|
InputAssemblyPath |
string |
必須。読み取り/書き込み。ウォーターマークの抽出を行うアセンブリへのパスを取得または設定します。 |
UsePassphrase |
bool |
読み取り/書き込み。 |
Passphrase |
string |
読み取り/書き込み。現行では、入力アセンブリも Dotfuscator 構成に列挙する必要があります。これは、Visual Studio で生成されたプロジェクト ファイルの相互運用のためにのみ存在します。将来、変更される可能性があります。 |
Watermark |
string |
読み取り専用。抽出されたウォーターマーク文字列を公開します。 |