PreEmptive がプライベートで配布する NuGet パッケージを使用して、Dotfuscator Professional をインストールすることができます。 このインストール方法によって、macOS および Linux 開発環境で Dotfuscator を実行することができます。 このインストール方法は Windows 開発環境でも使用できますが、通常は Windows インストーラーの使用をお勧めします。
ビルド エージェントもインストールに NuGet パッケージを使用することができます。詳細については、ビルド エージェントを参照してください。
NuGet パッケージについて
NuGet を使用して nuget.org からサードパーティのライブラリをプロジェクトに追加することには慣れているかもしれませんが、Dotfuscator NuGet パッケージはまったく異なる動作をします。
-
このパッケージは、一般的なプログラミング用にライブラリを公開していません。 代わりに、このパッケージにはビルド時に独立したツールとして使用できる Dotfuscator のさまざまなコンポーネントが含まれています。
-
プロジェクトに Dotfuscator NuGet パッケージへの参照を追加しません。 代わりに、パッケージをディレクトリに直接インストールし、そのディレクトリに抽出されたコンポーネントをビルドに使用させます。
-
このパッケージは、パブリック nuget.org フィードでは利用できません。 代わりに、パッケージは PreEmptive からプライベートで配布され、組織内のプライベート フィードでホストされる必要があります。
このパッケージ ID は PreEmptive.Protection.Dotfuscator.Pro
です (Dotfuscator Professional 評価版を使用しているお客様の場合は、この ID の最後に .Eval
を追加してください)。
このページでは、Dotfuscator 自体を含むプライベート NuGet パッケージについて説明します。 チェック属性を含む従来の NuGet パッケージもあり、nuget.org から入手できます。 プロジェクトでこの NuGet パッケージを参照し、提供された属性を使用してコードにアノテーションを付けることができます。 Dotfuscator は実行時に、コンパイルされたコード内のこれらの属性を認識し、適宜チェックを差し込みます。
システム要件
NuGet パッケージを使用する Dotfuscator をインストールするには、NuGet パッケージをローカル ディレクトリにインストールする方法が必要になります。 最も簡単な方法は NuGet コマンド ライン インターフェイス(nuget.exe
)を使用することですが、別の NuGet インターフェイスや、ZIP ファイルを抽出できるツールであればどれでも使用できます。 詳細については、インストール手順を参照してください。
パッケージ自体には 2 つのコンポーネント セットがあり、これらは 2 つのサブディレクトリに分かれています。 各コンポーネント セットには個別のシステム要件があります。
-
tools/msbuilddir
には、Dotfuscator の MSBuild コンポーネントが含まれています。 これらのコンポーネントは、ほとんどの .NET プロジェクトの通常のビルド処理に統合されるため、ほとんどの開発者が使用する必要があります。 要件はこちらで読むことができます。 -
tools/programdir/netcore
には、.NET 6 バージョンのコマンド ライン インターフェイスが含まれています。 要件はこちらで読むことができます。
MSBuild のシステム要件
NuGet パッケージによってインストールされた MSBuild コンポーネントを実行するための要件は、次のとおりです。
-
MSBuild - 以下のいずれか:
- MSBuild(.NET Framework):4.0 以降。.NET Framework 4.7.2 以降で実行
- MSBuild(.NET Core):16.0 以降。.NET 6(バージョン 6.0 以降)ランタイムがインストール済み
- MSBuild(Mono):16.0 以降。Mono 6.0 以降で実行
MSBuild コンポーネントは、NuGet パッケージを介してインストールされた場合には、Windows、macOS、および Linux で実行されるビルドで使用することができます。 ただし、.pdb
ファイルの生成など特定の機能には、Windows でのみ使用できる完全な .NET Framework SDK(バージョン 1.1 以降)が必要です。
以下に、NuGet パッケージを使用した場合に Dotfuscator がサポートする開発ツール(IDE、SDK など)の例を示します。
Visual Studio(Windows 版):2012 以降
Visual Studio Community、Professional、および Enterprise がサポートされます。
Dotfuscator を .NET Framework、.NET 5、.NET Core、.NET Standard、Xamarin および MAUI 用のプロジェクトに統合することができます。 Dotfuscator は、Visual Studio IDE から開始するビルド時、または、Visual Studio でインストールできるコマンド ライン ツール msbuild
や dotnet
から開始するビルド時に実行できます。 Visual Studio(VS 2017 以降での .NET ワークロードを使用)をインストールすると、.NET ランタイムおよび .NET SDK の要件も満たします。
Visual Studio(Mac 版):2019 以降
Dotfuscator を .NET 5、.NET .NET Core、.NET Standard、Xamarin、MAUI および Mono 用のプロジェクトに統合することができます。 Dotfuscator は、Visual Studio for Mac IDE から開始するビルド時、または、Visual Studio for Mac でインストールできるコマンド ライン ツール msbuild
や dotnet
から開始するビルド時に実行できます。
Visual Studio Code:すべてのバージョン
Dotfuscator を .NET ベースのプロジェクトに統合することができます。 Dotfuscator は、ビルド タスクによってトリガーされるビルド時に実行できます。ただし、これはそのビルド タスクが、サポートされる msbuild
および dotnet
ツールを呼び出す場合に限ります。 Visual Studio Code ではこれらのツールが含まれていません。SDK またはその他の IDE からインストールする必要があります。
.NET Framework ランタイム:4.0 以降
Dotfuscator を .NET Framework、および .NET Standard 用のプロジェクトに統合することができます。 Dotfuscator は、Windows でのみ、.NET Framework の msbuild
コマンド ライン ツールから開始するビルド時に実行できます。
.NET Core SDK:2.1 以降(最新のパッチ バージョン)
Dotfuscator を .NET Core、および .NET Standard 用のプロジェクトに統合することができます。 Dotfuscator は、Windows、macOS、および Linux で、.NET Core の dotnet
コマンド ライン ツールから開始するビルド時に実行できます。
Mono SDK:6.0 以降
Dotfuscator を Mono、および .NET Standard 用のプロジェクトに統合することができます。 Dotfuscator は、Windows、macOS、および Linux で、Mono の msbuild
コマンド ライン ツールから開始するビルド時に実行できます。
コマンド ライン インターフェイスのシステム要件
NuGet パッケージによってインストールされた コマンド ライン インターフェイスを実行するための要件は、次のとおりです。
-
.NET ランタイム:.NET 6 以降
- メモ:.NET 6 ランタイムの 6.0.0 以降がインストールされている必要があります。 .NET が使用するランタイムの選択方法の詳細については、こちらを参照してください。 この制限は、処理済みのアプリケーションやインストール済みの SDK で使用されるバージョンには適用されません。
コマンド ライン インターフェイスは、NuGet パッケージを介してインストールされた場合には、Windows、macOS、および Linux で実行することができます。 ただし、.pdb
ファイルの生成など特定の機能には、Windows でのみ使用できる完全な .NET Framework SDK(バージョン 1.1 以降)が必要です。
インストール手順
組織によっては、Dotfuscator NuGet パッケージを既に内部でホストしている可能性があります。 そうであれば、パッケージがホストされている NuGet フィード URL を書き留めておきます。
そうでない場合は、NuGet パッケージを開発用コンピューターにダウンロードする必要があります。 Dotfuscator のダウンロード用 Web ページで、Dotfuscator Professional の NuGet パッケージをダウンロードします。 ダウンロードした .nupkg
を新しいディレクトリにコピーし、このディレクトリのパスを NuGet フィード URL として書き留めておきます。
NuGet パッケージをホストするか、またはダウンロードしたら、開発用コンピューターにそれをプロビジョニングできます。 以下のタブに示すように、これを行う方法は複数あります。
NuGet コマンド ライン インターフェイス(CLI)で install
コマンドを使用して、Dotfuscator をプロビジョニングすることができます。 この CLI は、Windows や Mono で実行するのに適した nuget.exe
としてダウンロードできます。 お使いのコンピューターが macOS を実行しており、Visual Studio for Mac がインストールされているのであれば、NuGet CLI は /Library/Frameworks/Mono.framework/Commands/nuget
に既にあります。
Dotfuscator をプロビジョニングするコマンドの例を次に示します。
nuget install PreEmptive.Protection.Dotfuscator.Pro[.Eval] -Version 7.2.0 -OutputDirectory "{out dir}" -ExcludeVersion -Source "{feed url}"
ここで、
-
[.Eval]
は、Dotfuscator Professional の評価中である場合は.Eval
になり、そうでない場合は空の文字列になります。 -
{out dir}
は、Dotfuscator NuGet パッケージが抽出されるディレクトリです。 -
{feed url}
は、以前に書き留めた NuGet フィード URL です。
これは、{out dir}/PreEmptive.Protection.Dotfuscator.Pro[.Eval]
に Dotfuscator をインストールします。 次の一連の手順のために、このインストール ディレクトリを書き留めておきます。
含まれているシェル スクリプトを呼び出す前に、それらを実行可能としてマークする必要があります。 これは通常、chmod +x
を呼び出すことによって行い、引数としてスクリプトの場所を渡します。
プロビジョニング後、いくつかの環境固有の設定を設定する必要があります。 次の内容を含む .dotfuscator.user.props
という名前のファイルをユーザー ディレクトリ(つまり、USERPROFILE
または HOME
環境変数にあるディレクトリ)に作成します。
<!-- これは Dotfuscator の MSBuild コンポーネントを使用する、プロジェクト用の MSBuild プロパティ ファイルです。
詳細については、<https://www.preemptive.com/dotfuscator/pro/userguide/ja/interfaces_msbuild.html#user> を参照してください。
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<!-- NuGet パッケージを使用して Dotfuscator の MSBuild コンポーネントがインストールされるパス -->
<DotfuscatorMSBuildDir>{install dir}/tools/msbuilddir</DotfuscatorMSBuildDir>
<!-- Dotfuscator のライセンス文字列。 -->
<DotfuscatorLicense>{license string}</DotfuscatorLicense>
</PropertyGroup>
</Project>
ここで、
-
{install dir}
は、Dotfuscator インストール ディレクトリの絶対パスです。 -
{license string}
は、ライセンス文字列形式の Dotfuscator Professional ライセンス キーです。 これにより、Dotfuscator のビルド統合は、実行するたびに自動的に自身をアクティブ化するようになります。
これで、アプリケーションの保護手順に従って、Dotfuscator をビルドに統合することができます。
インストールされるコンポーネント
Dotfuscator の NuGet パッケージには以下のコンポーネントが含まれています。
コンポーネント | インストール場所 |
---|---|
MSBuild ターゲット | {install dir}/tools/msbuilddir/PreEmptive.Dotfuscator.Common.targets |
MSBuild タスク(最新) | {install dir}/tools/msbuilddir/PreEmptive.Dotfuscator.Tasks.dll |
MSBuild タスク(従来) | {install dir}/tools/msbuilddir/legacy/PreEmptive.Dotfuscator.Tasks.dll |
コマンド ライン インターフェイス |
{install dir}/tools/programdir/netcore/dotfuscator.dll (.NET Core アプリケーション) |
{install dir}
は、インストール手順で示した Dotfuscator のインストール ディレクトリです。