此问题为在使用Babel Obfuscator V8.3.0.0对C# .exe文件进行混淆后出现异常的情况。解决该问题的具体解法为在混淆前需要将AssemblyInfo.cs中的程序集名称和版本号设置为相同的值,并设置自定义程序集名称,如下示例代码所示:
using System.Reflection;
[assembly: AssemblyTitle("My Application")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("My Company")]
[assembly: AssemblyProduct("My Application")]
[assembly: AssemblyCopyright("Copyright © My Company")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 设置程序集的版本号
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
// 设置程序集的名称
// 此处使用了自定义程序集名称 "MyApplication.dll"
[assembly: AssemblyKeyFile("")]
[assembly: AssemblyKeyName("")]
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyCulture("")]
[assembly: AssemblyKeyName("")]
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("")]
[assembly: AssemblyKeyName("")]
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyCulture("")]
[assembly: AssemblyProduct("My Application")]
[assembly: AssemblyTitle("My Application")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyVersion("1.0.0.0")]
同时,在Babel Obfuscator的选项中勾选“Strong Name Sign Assembly”以及“Mark Assembly with Obfuscated”选项即可解决该问题。