c# - ArgumentException 标识符 ' ' 不符合 CLS。关于连载

标签 c# .net debugging exception serialization

<分区>

我在调试这个问题时遇到了麻烦。

它现在在我正在处理的应用程序中发生了两次,并且仅在程序以 Release模式运行时发生。该程序在 Debug模式下运行良好:-(

当我试图序列化一个对象时,我得到了 ArgumentException。我追踪到第一个异常一直到序列化以下变量的时间:

public SerializableDictionary<MyEnum1, SerializableDictionary<MyEnum2, Double>> my_collection;

我通过用一个字符串替换 MyEnum2 来回避这个问题,回避了这个问题,然后它又在程序的一个完全不同的区域再次出现。这次,当序列化包含以下变量的对象时:

public SerializableDictionary<MyEnum1, MyObject> my_other_collection;

在这两种情况下,我都使用 Paul Welter 的 SerializableDictionary目的。我在以前的程序版本中使用过它,但从未遇到过这个问题。后者的异常(exception)情况如下:

System.ArgumentException: Identifier ' ' is not CLS-compliant.
    Parameter name: ident

异常的完整转储可以在 pastebin 上查看

我在 SO 上查看了很多包含符合 CLS 的警告/错误的帖子,但它们似乎不是同一个问题。我将不胜感激有关如何进一步调试此问题的一些提示,因为只有在 Release模式下运行时才会出现异常我的想法已经用完了!

最佳答案

天哪...我生命中的 5 天都被这个错误浪费了。

另一位开发人员已将 eazfuscator 添加到整个应用程序。我删除了由 eazfuscator 插入的构建后事件命令行,生活再次变得美好。

显然,混淆类和可序列化类不是一个好的组合!

关于c# - ArgumentException 标识符 ' ' 不符合 CLS。关于连载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5153345/

相关文章:

c# - 如何检索 WinForms PictureBox 的缩放系数?

java - Java/J2EE 和 .NET for Coldfusion 中有哪些库?

c++ - 如何将参数传递给已经开始运行的线程

c# - 如何调试/设置本地环境来测试 twilio callbackurl

c++ - 什么预定义宏可用于检测带有 clang 的调试版本?

c# - 在 WPF 运行时更改样式

c# - .Net 应用程序内存管理

.net - CLR识别的线程

#ifdef DEBUG 的 Python 等效项

c# - 在每个 POST/GET 请求之前调用方法/执行操作 .NET Core