1

我正在使用 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 设置。

4

0 回答 0