我正在使用Eazfuscator 3.3(免费版),我可以模糊我的所有项目除了一个(在特定解决方案中)。
这是我得到的错误:
错误16处理输入文件时出错 'DAL.dll' - >发生了一个或多个错误 - >指数超出范围。 必须是非负数且小于集合的大小。
C:\ Projects __ _ _ __ DAL \ EXEC 的 __ _DAL
我试图手动运行:
C:\Program Files (x86)\Eazfuscator.NET\Eazfuscator.NET.exe "C:\Projects\________\______DAL\bin\Release\______DAL.dll" --msbuild-project-path "C:\Projects\______\______DAL\______DAL.csproj" --msbuild-project-configuration "Release" --msbuild-project-platform "AnyCPU" --msbuild-solution-path "C:\Projects\______\______.sln" -n --newline-flush -v 3.3"
但我得到了同样的结果。
我甚至试过这个:
C:\Program Files (x86)\Eazfuscator.NET>Eazfuscator.NET.exe "C:\Projects\_______\_______DAL\bin\Release\________DAL.dll"
但是,正如你所看到的 - 我得到了相同的结果:
Eazfuscator.NET版本3.3(发布版本3.3.161.40493)版权所有 (C)2007-2012 Oleksiy Gapotchenko
模糊汇编' _ __ DAL.dll'...错误:发生错误 在处理输入文件'' ____ _DAL.dll' - >一个或多个 发生错误 - >指数超出范围。必须是非负面的 小于集合的大小。
我有一种感觉,因为我的引用 - FluentNHibernate.dll (1.2.0.712), NHibernate.dll (3.1.0.4000), NHibernate.ByteCode.Castle.dll (3.1.0.4000)。
答案 0 :(得分:6)
这是一个已知问题,已在最新版本的Eazfuscator.NET中修复。
有一个快速解决方法:
[assembly: Obfuscation(Feature = "optimization", Exclude = true)]
请将上面显示的属性应用于相关装配。这会关闭Eazfuscator.NET优化器。