Vs2022 发布 ClickOnce 实现混淆加密

  1. 打开项目目录下.csproj文件
  2. 替换: </Project>,为下面的文件
  3. 粗体红色 Protect.xml  为 Dotfuscator的项目文件
  4. 粗体红色 bin\publish\App.exe 为混淆后的文件位置,复制输出操作不能放在混淆中进行
  5. 粗体红色 App.exe 只有是项目名的文件,其它文件发布时不会打包到ClickOnce
    <PropertyGroup>
        <XenocodeLocation>"CMD.exe"</XenocodeLocation>
        <!--混淆操作必须要放在这里, 否则被混淆的.exe .dll时会引发错误,放在这里就不会出错-->
        <PostBuildEvent>
            if $(ConfigurationName)==Release "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscator.exe" "Protect.xml"
        </PostBuildEvent>
    </PropertyGroup>
    <PropertyGroup>
        <PreBuildEvent>
        </PreBuildEvent>
    </PropertyGroup>
    <Target Name="BeforeBuild" Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
        <CreateProperty Value="true">
            <Output TaskParameter="Value" PropertyName="Obfuscate" />
        </CreateProperty>
    </Target>
    <Target Name="AfterCompile" Condition=" '$(Obfuscate)' != '' ">
        <!--复制到发布目录 复制操作放在这里,不然复制的文件就不正确-->
        <Copy SourceFiles="$(ProjectDir)bin\publish\App.exe" DestinationFiles="$(IntermediateOutputPath)App.exe" />
    </Target>
</Project>

 

posted @ 2022-11-29 11:33  我们的家乡  阅读(803)  评论(0)    收藏  举报