【问题标题】:Why does my application give SerializationException although I have no serialized classes?为什么我的应用程序会给出 SerializationException,尽管我没有序列化的类?
【发布时间】:2015-02-03 11:50:37
【问题描述】:

我为 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.

我的所有类都没有定义为可序列化的。该工具是在 WPF 中创建的。

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

【问题讨论】:

    标签: .net serialization biztalk


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 不,我不是从编排中运行它。在使用 MSBuild 构建解决方案之后,它应该是一个独立的应用程序来部署我的 BizTalk 应用程序。我可以使用 BTSTask 命令很好地部署,但对于检查应用程序是否已经存在、启动或停止应用程序等任务,我需要使用 Microsoft.BizTalk.ExplorerOM
      • 找到了原因。我正在通过反射创建 BtsCatalogExplorer 的实例,而是使用连接字符串解决了这个问题。
      猜你喜欢
      • 2017-02-20
      • 2011-01-08
      • 1970-01-01
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多