Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何修改csproj以在relase build上自动运行模糊车_C#_Msbuild_Obfuscation_Sharpdevelop_Obfuscar - Fatal编程技术网

C# 如何修改csproj以在relase build上自动运行模糊车

C# 如何修改csproj以在relase build上自动运行模糊车,c#,msbuild,obfuscation,sharpdevelop,obfuscar,C#,Msbuild,Obfuscation,Sharpdevelop,Obfuscar,我正在使用Sharp Develop创建一个c#项目,然后创建一个csproj文件。然后,我安装了模糊车,如下所示: 从PowerShell作为管理员: PS> Install-Package Obfuscar 这会将Obfuscar.Console.exe可执行文件放置在以下目录中: C:\Program Files\PackageManagement\NuGet\Packages\Obfuscar.2.2.9\tools 然后,我创建了模糊车项目文件,如下所示: 文件:obfusc

我正在使用Sharp Develop创建一个c#项目,然后创建一个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>
并在Release下的exe上运行该命令,并将其放置在“.\bin\Obfuscar”目录中

Obfuscar.Console.exe  obfuscar.xml
如果我能让模糊处理程序像eazfouscator一样工作,您只需将您的csproj文件提供给它,然后它会自动修改项目,以便在选择发布版本时运行模糊处理程序,那就太好了。因为,我认为这个流程可以在Sharp Develop和Visual Studio中使用

如果我看一下eazfouscator如何设置我的项目文件。它是这样做的:

<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>

如果/I“$(ConfigurationName)”==“Release”eazfouscator.NET.exe“$(TargetPath)”--msbuild项目路径“$(ProjectPath)”--msbuild项目配置“$(ConfigurationName)”--msbuild项目平台“$(PlatformName)”--msbuild解决方案路径“$(SolutionPath)”--n--换行刷新-v 5.7

比如说。如何在msbuild项目文件(csproj)中自动查找Obfuscar.console.exe安装目录,创建输出目录,使用Obfuscar.console.exe的正确路径调用Obfuscar命令,等等。请记住,我是从Sharp Develop为msbuild设置的,不适用于Visual Studio。

是否尝试添加生成步骤?您是否尝试添加构建步骤?
<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>