为什么我的应用程序会出现 SerializationException,尽管我没有序列化 类?

Why does my application give SerializationException although I have no serialized classes?

我已经为 BizTalk 创建了一个应用程序部署工具,它引用了使用 Microsoft.BizTalk.ExplorerOM api 来启动、停止和管理 BizTalk 应用程序。现在,当我 运行 该工具时,它会给出以下异常 -

Unhandled Exception: System.Runtime.Serialization.SerializationException: Type 'Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer' in Assembly 'Microsoft.BizTalk.ExplorerOM, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' is not marked as serializable.
我的 类 中的

None 被定义为可序列化。并且该工具是在 WPF 中创建的。

知道如何解决这个问题吗?

这是因为 BtsCatalogExplorer 没有被标记为可序列化。是的,这是显而易见的答案。

您是否运行在 BizTalk 的编排中执行此操作?要在 BizTalk 中 运行,class 必须是可序列化的或在原子范围内 运行。

您应该查看 BizTalk 部署的 BTDF。它是开源的,可以满足 BizTalk Deployment 的所有需求 http://biztalkdeployment.codeplex.com