如何修改csproj以在relase build

时间:2017-09-27 10:52:11

标签: c# msbuild obfuscation sharpdevelop obfuscar

我使用Sharp Develop创建了一个c#项目,该项目又创建了一个csproj文件。然后,我按如下方式安装了obfuscar:

从PowerShell作为管理员:

PS> Install-Package Obfuscar

这会将Obfuscar.Console.exe可执行文件放在目录中:

C:\Program Files\PackageManagement\NuGet\Packages\Obfuscar.2.2.9\tools

然后我按如下方式创建了Obfuscar项目文件:

文件: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上运行命令并将其放在&#34;。\ bin \ Obfuscar&#34; 。目录

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安装目录,创建输出目录,使用正确的路径调用obfuscar命令obsfuscar.console.exe等。请记住,我&#39 ;我为Sharp Develop设置了MSBuild,而不是为Visual Studio设置。

0 个答案:

没有答案