このユーザー ガイドは、PreEmptive Protection - Dotfuscator Community 6 について説明しています。 お使いの Visual Studio のインストール履歴およびバージョンによっては、現在、以前のメジャー バージョンである Dotfuscator Community 5 が実行されている可能性があります。 その場合はアップグレードしてください。これは、コードに最新の保護対策が確実に施されていることが重要だからです。 アップグレードは無料で入手できます。
このページでは、現在お持ちのバージョンを判断する方法や、必要に応じてバージョン 6 にアップグレードする方法、2 つのバージョン間で置き換えられたまたは削除された機能について説明します。
Dotfuscator のバージョンの判断
実行している Dotfuscator のバージョンが不明な場合は、次のいずれかを実行することでバージョンを判断できます。
-
Visual Studio の[ツール]メニューを開いて[PreEmptive Protection - Dotfuscator Community]を選択し、Dotfuscator Community のグラフィカル ユーザー インターフェイス(GUI)を起動します。 Dotfuscator GUI から[ヘルプ]メニューを開いて[バージョン情報]を選択すると、バージョン情報画面が表示されます。 この画面には Dotfuscator のバージョンが'表示されます。
-
コマンド ライン インターフェイス(Xamarin アプリなど)を使用して Dotfuscator をビルドに統合している場合は、ビルド ログで次のような行を調べることもできます。
Dotfuscator Community Version 5.42.0.9514-e0e25f754
このテキストを見るためには、ビルドの詳細モードを引き上げる必要があるかもしれません。 Visual Studio の場合は、詳細レベルの設定を参照してください。
バージョンの最初の整数、つまり最初のドット .
の前の数字は、Dotfuscator のメジャー バージョンを示します。 これが 5
の場合は、このページのアップグレード手順を実行して、最新の Dotfuscator 6 の機能と保護の更新を利用できるようにする必要があります。
アップグレード手順
このセクションには、Dotfuscator Community の一般的な使用方法をバージョン 5 からバージョン 6 へアップグレードするための一連の手順が含まれています。
Dotfuscator 6 のインストール
Dotfuscator Community は Visual Studio の拡張機能として配布されます。 Dotfuscator 6 のインストール手順は、お使いの Visual Studio のバージョンによって異なります。
-
Visual Studio 2019。 Dotfuscator Community 6 は Visual Studio 2019 の最新バージョン(バージョン 16.10.0 以降)に含まれています。 Visual Studio 2019 を更新して最新バージョンにします。 これにより、Dotfuscator Community 5 のインストールが自動的に Dotfuscator Community 6 にアップグレードされます。
-
Dotfuscator をまだインストールしていない場合は、まず Visual Studio を更新してからインストールを参照してください。
-
Visual Studio に含まれるリリースのほかに、Dotfuscator Downloads ページからいつでも Dotfuscator Community の最新バージョンを入手できます。
-
-
Visual Studio 2017。 このバージョンの Visual Studio にのみ、Dotfuscator Community 5 が同梱されていました。 しかし、Dotfuscator Downloads ページを開いて適切なダウンロード リンクを選択することで、Dotfuscator Community 6 をインストールまたはアップグレードすることができます。
ダウンロードした
.vsix
ファイルを実行し、画面の指示に従って Dotfuscator Community 6 を Visual Studio にインストールします。 これにより、既存の Dotfuscator Community 5 のインストールがアップグレードされます。 -
上記より前のバージョンの Visual Studio。 このようなバージョンの Visual Studio では、Dotfuscator Community 6 はサポートされません。 新しいバージョンの Visual Studio にアップグレードするか、または Dotfuscator Community から Dotfuscator Professional にアップグレードすることをお勧めします。
以前に Dotfuscator Community 5 を登録していた場合、その登録は、初めて Dotfuscator Community 6 を実行したときに自動的に変換されます。
コマンド ライン インターフェイスのパスの更新
以前に Dotfuscator 5 のコマンド ライン インターフェイス(CLI)を使用してアプリケーションを保護していた場合は、プロジェクトに記述した CLI へのパスを更新し、それを参照するスクリプトをビルドする必要があります。 この対象には、Dotfuscator Community の Xamarin 統合を使用するプロジェクトも含まれます。
Dotfuscator の CLI へのパスが無効になるようになったのは、Dotfuscator Community でインストールされる実行可能ファイルのうち、一部のファイルの名前が Dotfuscator 6 では変更されたからです。 この変更により、これらの実行可能ファイルの名前が Dotfuscator Community と Dotfuscator Professional で同じになります。
実行可能ファイル... | Dotfuscator 5 | Dotfuscator 6 |
---|---|---|
グラフィカル ユーザー インターフェイス(GUI) | dotfuscator.exe |
dotfuscatorUI.exe |
コマンド ライン インターフェイス(CLI) | dotfuscatorCLI.exe |
dotfuscator.exe |
ビルドが無効な Dotfuscator CLI パスを使用している場合、次のようなエラーのいずれかが発生する可能性があります。
'"[...]\PreEmptiveSolutions\DotfuscatorCE\dotfuscatorCLI.exe"' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
コマンド ""[...]\PreEmptiveSolutions\DotfuscatorCE\dotfuscatorCLI.exe" Dotfuscator.xml" はコード 9009 で終了しました。
DotfuscatorXamarinEnabled プロパティが 'true' である場合は、DotfuscatorXamarinCliPath ('[...]\DotfuscatorCE\dotfuscatorCLI.exe') で
指定された Dotfuscator コマンド ライン インターフェイスは存在している必要があります。
正しいコマンド ライン インターフェイスのパスを使用するようにビルドを更新するには
-
Visual Studio の[ツール]メニューを開いて[PreEmptive Protection - Dotfuscator Community]を選択し、Dotfuscator Community のグラフィカル ユーザー インターフェイス(GUI)を起動します。
-
Dotfuscator Community GUI で、[ツール]メニューを開いて[Dotfuscator コマンド プロンプト]を選択します。
-
開いたコマンド プロンプトで
where dotfuscator.exe
と入力します。 後で参照できるように、表示された最初のパスをプレーン テキストのドキュメントにコピーしておきます。これが、Dotfuscator Community 6 のコマンド ライン インターフェイスの新しいパスです。 -
ビルド システムに応じて、プロジェクトまたはビルド構成を開きます。
-
Visual Studio プロジェクトの場合は、プロジェクト ファイル(
.csproj
、.vbproj
、または.fsproj
)をプレーン テキストとして開く必要があります。 Visual Studio でプロジェクト ファイルをこの方法で開く手順については、ここをクリックしてください。 -
以前に Dotfuscator Community の Xamarin 統合を使用して Xamarin アプリを保護していた場合は、Dotfuscator を共有ライブラリ プロジェクトに統合するのではなく、個々のアプリ プロジェクト(
MyProject.Android.csproj
、MyProject.iOS.csproj
など)に統合するよう呼び戻します。 現在 Dotfuscator を使用しているすべてのアプリ プロジェクトを更新する必要があります。
-
-
プロジェクト内またはビルド構成内で、Dotfuscator Community 5 のコマンド ライン インターフェイスの古いパスが使用されているすべての場所を見つけます。 これは通常、
dotfuscatorCLI.exe
で終わるパスです。- Dotfuscator Community の Xamarin 統合を使用するプロジェクトを更新するとき、古いパスは
<DotfuscatorXamarinCliPath>
タグと</DotfuscatorXamarinCliPath>
タグの間に配置されます。
- Dotfuscator Community の Xamarin 統合を使用するプロジェクトを更新するとき、古いパスは
-
手順 5 で見つけた古いパスを、手順 3 で書き留めた新しいパスに置き換えます。
古いパスのいずれかが絶対パスでない場合は、前後の状況に基づいて新しいパスを適切に調整する必要があります。 次の例では、古いパスで
VSInstallDir
環境変数が使用されていたため、対応する新しいパスでも同様にする必要があります。- 手順 3 の新しいパス:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscator.exe
- プロジェクト ファイルの古いパス:
%VSInstallDir%\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscatorCLI.exe
- プロジェクト ファイルの新しいパス:
%VSInstallDir%\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscator.exe
- 手順 3 の新しいパス:
-
Git などのソース管理システムを使用している場合は、手順 6 の変更がそのシステムに反映されていることを確認します。 システムや組織にとって適切であれば、これらの変更をチームの他のメンバーに配布します。
dotfuscator.exe
は、Dotfuscator 5 ではグラフィカル ユーザー インターフェイス(GUI)を参照しますが、Dotfuscator 6 ではコマンド ライン インターフェイス(CLI)を参照するため、複数のコンピューター間で共有されるビルド スクリプトを更新する場合には注意してください。
Dotfuscator 5 がインストールされているコンピューターで Dotfuscator 6 用に更新されたスクリプトを実行すると、そのスクリプトから、意図したコマンド ライン インターフェイスではなくグラフィカル ユーザー インターフェイスが起動されるようになります。 これにより、Dotfuscator の保護が適用されていないにもかかわらずビルドが成功する可能性があります。つまり、出力パッケージが保護されないということです。 その他の場合は、代わりにビルド エラーが発生する可能性があります。
これらのシナリオを回避するには、お使いのコンピューターおよびビルド スクリプトのすべてで同時に Dotfuscator Community をバージョン 5 からバージョン 6 にアップグレードします。
Dotfuscator 構成ファイルのアップグレード
Dotfuscator 6 より前に作成されたすべての Dotfuscator 構成ファイル(Dotfuscator.xml
など)はアップグレードする必要があります。
古い構成ファイルを使って Dotfuscator コマンド ライン インターフェイス(CLI)を実行しようとすると、次のようなエラーが発生します。
Dotfuscator エンジンの初期化エラー:[PreEmptive Analytics]、[Authenticode 署名]、および [明示的なメソッドのオーバーライドを導入する]
設定はサポートされなくなりました。構成エディターで Dotfuscator 構成を開いてください。構成が自動的にアップグレードされます。
構成ファイルをアップグレードするには
-
Visual Studio の[ツール]メニューを開いて[PreEmptive Protection - Dotfuscator Community]を選択し、Dotfuscator Community のグラフィカル ユーザー インターフェイス(GUI)を起動します。
-
問題となっている Dotfuscator 構成ファイルを開きます(Ctrl+O)。
-
[ビルド出力]タブに次のメッセージが表示されます。
[PreEmptive Analytics]、[Authenticode 署名]、および [明示的なメソッドのオーバーライドを導入する] 設定はサポートされなくなりました。 関連する設定は削除されました。アップグレードされた Dotfuscator 構成を保存してください。
-
更新された Dotfuscator 構成ファイルを保存します(Ctrl+S)。
-
Git などのソース管理システムを使用している場合は、Dotfuscator 構成ファイルの変更がそのシステムに反映されていることを確認します。 システムや組織にとって適切であれば、これらの変更をチームの他のメンバーに配布します。
Xamarin 統合の更新
Xamarin プロジェクトに Dotfuscator Community 5 を統合する場合、手順の 1 つとして、カスタムの MSBuild のターゲットとタスク(PreEmptive.Dotfuscator.Xamarin.targets
など)をダウンロードする必要がありました。 これらのターゲットとタスクは Dotfuscator Community 6 で更新されているので、古いバージョンを新しいバージョンで置き換える必要があります。
Xamarin 統合ファイルを更新するには
-
これらのファイルを最初にダウンロードした場所を見つけます。