ClickOnce デプロイ
ClickOnce デプロイでは、Compile ステップの直後にターゲットアセンブリを難読化するように Babel タスクを設定します。
Visual Studio の「.csproj」ファイルを開き、Project の終了要素の前に次の MSBuild の記述を追加します。
<UsingTask TaskName="Babel" AssemblyName="Babel.Build, Version=10.0.0.0, Culture=neutral, PublicKeyToken=138d17b5bd621ab7" />
<Target Name="Obfuscate" AfterTargets="Compile" Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<Babel InputFile="$(ProjectDir)$(IntermediateOutputPath)$(TargetFileName)" OutputFile="$(ProjectDir)$(IntermediateOutputPath)$(TargetFileName)" ObfuscateTypes="true" ObfuscateEvents="true" ObfuscateMethods="true" ObfuscateProperties="true" ObfuscateFields="true" VirtualFunctions="true" UnicodeNormalization="true" FlattenNamespaces="true" OverloadedRenaming="true" StringEncryption="hash" ControlFLowObfuscation="if=on;switch=on;case=on;call=on" ControlFLowIterations="3" />
</Target>タスクの InputFile 属性と OutputFile 属性に、ビルドの中間出力を設定している点に注意してください。これにより、Visual Studio は難読化されたターゲットアセンブリを使って ClickOnce のデプロイ可能なパッケージを作成できます。
Babel Obfuscator の NuGet パッケージ
Babel.Obfuscator NuGet パッケージをお持ちの場合は、プロジェクトファイルで Babel タスクをセットアップする必要はありません。プロジェクトに NuGet パッケージ参照を追加するだけで済みます。
サンプルのソースコードをダウンロード できます。
Last updated on