这个错误让我疯狂:
单元测试适配器抛出异常:在程序集'ZDRCreator中输入'com.imagehawk.ZDRCreator.Config.ZDRCreatorConfigException',Version = 1.0.5.1,Culture = neutral,PublicKeyToken = null'未标记为可序列化..
这是一个例外,它使用的唯一地方是这样抛出新的ZDRCreatorConfigException(bla);然后在捕捉区块当然。
刚刚开始发生......无法弄清楚我改变了什么。请帮忙这是异常的代码,但我怀疑它有帮助。
public class ZDRCreatorConfigException : Exception
{
public ZDRCreatorConfigException(string msg) : base(msg)
{
}
public ZDRCreatorConfigException() : base()
{
}
}
更新:我想通了,毕竟不是微软的错;虽然我给他们发誓,但我确信还有很多其他值得的东西。我做了一个代码更改,导致抛出异常并且从未处理过。不确定为什么它提到serializable,除非因为并非所有构造函数都在这里实现。顺便说一句,我终于弄明白了在哪里找到了解决问题的断点。谢谢!
答案 0 :(得分:1)
我不确定您是否有权访问源代码,但是您是否尝试过添加Serializable属性?
[Serializable]
public class ZDRCreatorConfigException : Exception
{
...
}
如果进行此更改,它将对您有所帮助,因为您将获得原始错误发生位置的堆栈跟踪,而不是序列化异常失败的堆栈跟踪。如果可能,您应该进行此更改,然后使用新的错误消息和stacktrace更新您的问题。
此外,你应该尝试弄清楚为什么抛出异常,因为我猜它不会发生。如果在调试模式下进行测试,则可以将Visual Studio设置为在抛出异常时自动中断,以便您可以看到发生的情况。
答案 1 :(得分:0)
您可能刚刚删除了Serializable属性:
[Serializable]
public class ZDRCreatorConfigException : Exception
{
public ZDRCreatorConfigException(string msg) : base(msg)
{
}
public ZDRCreatorConfigException() : base()
{
}
}
答案 2 :(得分:0)
为了将来参考,每次我遇到这个都是因为基类没有标记为Serializable。