2

我在我的项目中使用 Eazfuscator 有一段时间了,一切正常,直到我创建了一个名为“Release-Internal”的发布构建配置的副本。我还更新了构建后事件并将脚本更改为“if /I "$(ConfigurationName)" NEQ "Debug"..."。现在我的所有项目都可以混淆,没有任何问题,但只有一个项目显示以下错误:

(发生 EF-1099 错误。

4> 混淆器无法加载输入程序集或其依赖项之一。

4> 要解决此问题,您可以:

4> - 指定探测路径

4> - 在输入文件附近放置一个缺失的程序集

4> 更多信息可以在 Eazfuscator.NET 文档中找到

4> 故障排除 -> 错误代码知识库 -> EF-1099 章节。)

有趣的部分是如果我将活动配置更改为“发布”相同的项目混淆没有任何问题。“Release”和“Release-Internal”配置的区别只是“Release-Internal”有一个额外的条件编译符号,称为INTERNAL。

我还使用“Release-Internal”配置构建项目,而不会混淆。应用程序构建成功并按原样执行。

此致,

4

1 回答 1

3

从构建输出来看,您似乎正在并行构建项目。

我认为在 Eazfuscator.NET 尝试加载您的程序集时缺少依赖项。

我建议尝试在 Visual Studio IDE > 工具 > 选项 > “项目和解决方案”中将“最大并行项目构建数”设置为 1,然后重试。

事件查看器可能有更多信息(例如并排错误)。

您还可以尝试启用程序集绑定失败日志记录,以尝试识别无法找到哪些特定依赖项。请参阅:如何在 .NET 中启用程序集绑定失败日志记录 (Fusion)

它可以像在项目的缺少依赖项的引用属性中将“复制本地”设置为 true 一样简单。

您可以在“Eazfuscator.NET Documentation.chm”>“疑难解答”>“错误代码知识库”中阅读“EF-1099:无法加载输入程序集,反射加载失败”帮助主题。Eazfuscator.NET 3.2.278.32704 的帮助文档在同一帮助主题中有“关于启用 Eazfuscator.NET 的体系结构中性加载模式的说明”。

于 2013-02-22T20:49:26.617 回答