我正在使用 Sharp Develop 创建 ac# 项目,然后创建一个 csproj 文件。然后,我按如下方式安装了混淆器:
从 PowerShell 作为管理员:
PS> Install-Package Obfuscar
这会将 Obfuscar.Console.exe 可执行文件放在目录中:
C:\Program Files\PackageManagement\NuGet\Packages\Obfuscar.2.2.9\tools
然后我创建了 Obfuscar 项目文件,如下所示:
文件:混淆.xml:
<?xml version='1.0'?>
<Obfuscator>
<Var name="InPath" value=".\bin\Release" />
<Var name="OutPath" value=".\bin\Obfuscar" />
<Module file="$(InPath)\BasicExemple.exe" />
</Obfuscator>
现在我想知道,如何修改我的 csproj 以便在选择 RELEASE 构建时,它会自动创建目录:
.\bin\Obfuscar
并在Release下的exe上运行命令并将其放在“.\bin\Obfuscar”目录中。
Obfuscar.Console.exe obfuscar.xml
如果我能让 Obfuscar 像 Eazfuscator 一样工作会很好,你只需给它你的 csproj 文件,然后它会自动修改项目以在选择 RELEASE 构建时运行混淆器。因为,我认为这个流程适用于 Sharp Develop 和 Visual Studio。
如果我看看 EazFuscator 如何设置我的项目文件。它做这样的事情:
<PropertyGroup>
<PostBuildEvent>
if /I "$(ConfigurationName)" == "Release" Eazfuscator.NET.exe "$(TargetPath)" --msbuild-project-path "$(ProjectPath)" --msbuild-project-configuration "$(ConfigurationName)" --msbuild-project-platform "$(PlatformName)" --msbuild-solution-path "$(SolutionPath)" -n --newline-flush -v 5.7
</PostBuildEvent>
</PropertyGroup>
例如。如何在 msbuild 项目文件 (csproj) 中自动查找 Obfuscar.console.exe 安装目录,创建输出目录,使用 obsfuscar.console.exe 等正确路径调用 obfuscar 命令。记住,我是从 Sharp Develop 为 MSBuild 设置此设置,而不是为 Visual Studio 设置。