我们有一个遗留的SAP1.1应用程序,它可以与多个系统以及.NET系统进行通信。目前我们正在使用DCOM连接器进行SAP通信。我们已经决定用SAP3.0SAP连接器替换DCOM连接器,因为最新的.NET版本不提供对DCOM连接器的支持。但问题是我们不能从.NET 1.1DLL中调用.NET 3.0DLL。
我们被认为是下面的选项。
(1)将当前的1.1应用迁移到3.5或更高版本。然而,我们没有得到批准,因为它消耗了巨大的努力,因为应用程序是关键和复杂的
(2)创建中间层VB组件,该组件可以同时作为1.1和3.5的通信器。它又增加了一层,并导致了架构的改变。由于性能问题和架构审查,我们也没有获得批准。
(3)创建一个web服务,该服务通过.NET 1.1应用程序中的.NET SAP连接器和主机调用SAP1.1应用程序。由于性能问题和架构审查,这也没有得到批准。
(4)检查.NET 1.1和.NET 3.0应用程序之间的通信机制。由于性能问题和架构审查,这也没有得到批准。
(5)使.NET 3.5类公开为COM对象(进程外),并从.NET 1.1应用程序中使用这些COM对象。我们已经尝试过此选项,但出现异常:“无法添加对' NETDLL‘的引用。将类型库转换为.NET程序集失败。类型库NETDLL是从.NET程序集导出的,无法作为CLR程序集重新导入”
你能帮助我任何其他的方法,不花费架构的变化和不会造成性能影响。请帮帮忙
发布于 2013-03-18 00:58:41
最后,我们通过以下方法解决了这个问题。我们已经决定在1.1应用程序中使用.NET 2.0SAP连接器。我们可以使用Visual studio2003的.NET 1.1IDE集成或配置.NET 2.0连接器。一旦我们将其集成到visual Studio1.1IDE中,我们就可以创建1.1SAP2.0连接器项目,您可以在1.1项目中使用生成.NET 1.1DLL的.NET 2.0SAP连接器。
发布于 2013-03-12 16:48:46
我很久以前就有过类似的任务。
最简单的方法可能是将.NET 3.5类公开为COM对象(进程外),并从.NET 1.1应用程序中使用这些COM对象。
https://stackoverflow.com/questions/15355506
复制相似问题