如何从.NET 1.1应用程序调用.NET 3.0 DLL?

时间:2013-03-12 07:24:10

标签: .net sap sap-connector

我们有一个传统的.NET 1.1应用程序,它还可以与SAP系统通信多个系统。目前,我们正在使用DCOM连接器进行SAP通信。我们决定用.NET 3.0 SAP连接器替换DCOM连接器,因为最新的SAP版本不提供对DCOM连接器的支持。但问题是我们无法从.NET 1.1 dll调用.NET 3.0 dll。

我们被视为以下选项。

(1)将当前1.1应用程序迁移到3.5或最新版本。然而,由于应用程序非常重要且复杂,因此我们不会因此而获得批准 (2)创建中间VB组件,它可以作为1.1和3.5的通信器。它增加了一层,并导致架构变化。由于性能问题和架构审查,我们也未获得此批准 (3)创建一个Web服务,通​​过.NET SAP连接器和主机在同一服务器中调用SAP,并从.NET 1.1应用程序中使用它。由于性能问题和架构审查,这也未获批准 (4)检查WCF中有助于.NET 1.1和.NET 3.0应用程序之间通信的任何其他机制。由于性能问题和架构审查,这也未获批准 (5)使.NET 3.5类作为COM对象公开(进程外),并使用.NET 1.1应用程序中的这些COM对象。我们已经尝试过这个选项并且它提供了异常“无法添加对'NETDLL'的引用。将类型库转换为.NET程序集失败。类型库NETDLL是从CLR程序集导出的,无法重新导入为CLR程序集“

你能帮助我任何其他方法,这些方法不需要花费架构变化,也不会导致性能损失。请帮忙

2 个答案:

答案 0 :(得分:2)

我很久以前就有过类似的任务 可能最简单的方法是将.NET 3.5类作为COM对象公开(不属于 进程),并使用.NET 1.1应用程序中的这些COM对象。

答案 1 :(得分:1)

最后,我们通过以下方法解决了这个问题。我们决定将.NET 2.0 SAP连接器用于1.1应用程序。我们可以将.NET 2.0连接器与Visual Studio 2003中的.NET 1.1 IDE集成或配置。一旦我们将它集成到visual studio 1.1 IDE,我们就可以创建1.1 SAP 2.0连接器项目,您可以在1.1项目中使用.NET 2.0 SAP连接器它生成.NET 1.1 dll。