Vs2022 发布 ClickOnce 实现混淆加密

这篇博客介绍了如何在.csproj文件中配置Dotfuscator,用于.NET项目的代码混淆。在PostBuildEvent中调用dotfuscator.exe,并在AfterCompile目标中执行复制混淆后文件到发布目录的操作,确保ClickOnce发布时只包含项目主文件。
摘要由CSDN通过智能技术生成
  1. 打开项目目录下.csproj文件
  2. 替换: </Project>,为下面的内容
  3. 粗体红色 Protect.xml  为 Dotfuscator的项目文件
  4. 粗体红色 bin\publish\App.exe 为混淆后的文件位置,复制输出操作不能放在混淆中进行
  5. 粗体红色 App.exe 只有是项目名的文件,其它文件发布时不会打包到ClickOnce
  6. <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>

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值