我正在为我的项目使用Eazfuscator一段时间,并且一切正常,直到我创建了一个名为“Release-Internal”的Release构建配置的副本。我还更新了post build事件并将脚本更改为“if / I”$(ConfigurationName)“NEQ”Debug“...”。现在我的所有项目都没有任何问题地混淆,但只有其中一个显示以下错误:
(发生EF-1099错误。
4>混淆器无法加载输入组件或其中一个 的依赖关系。
4>要解决此问题,您可以:
4> - 指定探测路径
4> - 在输入文件附近放置一个缺失的程序集
4>更多信息可以在
的Eazfuscator.NET文档中找到4>疑难解答 - >错误代码知识库 - > EF-1099章节。)
有趣的是,如果我将活动配置更改为“Release”,则同一项目会毫无问题地进行混淆。 “Release”和“Release-Internal”配置之间的区别仅在于“Release-Internal”有一个额外的条件编译符号,称为INTERNAL。
我还使用“Release-Internal”配置构建了没有模糊处理的项目。应用程序构建成功并按原样执行。
致以最诚挚的问候,
答案 0 :(得分:2)
从构建输出中,您似乎正在并行构建项目。
我认为Eazfuscator.NET尝试加载你的程序集时缺少依赖。
我建议尝试在Visual Studio IDE>中将“最大并行项目构建数”设置为1。工具>选项> “项目和解决方案”,然后再试一次。
事件查看器可能有更多信息(例如并排错误)。
您还可以尝试启用程序集绑定失败日志记录,以尝试识别无法找到的特定依赖项。请参阅:How to enable assembly bind failure logging (Fusion) in .NET
可能就像在项目的缺失依赖项的引用属性中将“Copy Local”设置为true一样简单。
您可以在“Eazfuscator.NET Documentation.chm”>中阅读“EF-1099:无法加载输入程序集,反射加载失败”帮助主题。疑难解答>错误代码知识库。 Eazfuscator.NET 3.2.278.32704的帮助文档在同一帮助主题中有“启用Eazfuscator.NET的体系结构中立加载模式的说明”。