You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Eazfuscator如何禁用sn.exe调用 解决强名称延迟签名混淆失败问题

Eazfuscator 2020 禁用自动强名称签名配置方案

针对你使用Nuget包集成、仅持有公钥snk文件做延迟签名的场景,可通过以下两种配置禁用Eazfuscator自动调用sn.exe的重签名逻辑,无需修改现有Nuget引用模式:

方式1:项目文件属性配置(推荐)

直接在对应项目的.csproj/.vbproj文件的PropertyGroup节点中加入专属配置项即可:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <!-- 原有项目属性保持不变 -->
    <AssemblyName>YourProject</AssemblyName>
    <TargetFramework>netstandard2.0</TargetFramework>
    <!-- 新增下行配置,禁用Eazfuscator自动强名称签名 -->
    <EazfuscatorDisableStrongNameSigning>true</EazfuscatorDisableStrongNameSigning>
  </PropertyGroup>
  <!-- 原有Eazfuscator Nuget条件引用、其他节点无需修改 -->
</Project>

该配置会直接阻断Eazfuscator MSBuild任务的自动签名流程,混淆后的程序集会保留延迟签名状态,可直接用于后续signtool.exe手动签名步骤。

方式2:程序集特性配置

如果不方便修改项目文件,可在项目的AssemblyInfo.cs(C#)或AssemblyInfo.vb(VB.NET)中添加如下特性:

using System.Reflection;
// 新增下行特性
[assembly: Obfuscation(Feature = "disable strong name signing", Exclude = false)]

该特性为.NET原生定义,无需额外引用Eazfuscator相关程序集,Eazfuscator扫描到该标记后会自动跳过自动签名步骤。

生效验证方法
  • 查看混淆构建的输出日志,无sn.exe相关的调用记录即代表配置生效
  • 混淆后的程序集可直接通过CI流程中预先配置的signtool.exe命令,使用服务器预装的证书指纹完成最终签名

内容的提问来源于stack exchange,提问作者Ar Es

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 18:36:06