2013-03-12 2 views
2

SAP 시스템과 함께 여러 시스템을 통신하는 기존 .NET 1.1 응용 프로그램이 있습니다. 현재 우리는 SAP 통신을 위해 DCOM 커넥터를 사용하고 있습니다. 최신 SAP 버전은 DCOM 커넥터를 지원하지 않으므로 DCOM 커넥터를 .NET 3.0 SAP 커넥터로 대체하기로 결정했습니다. 그러나 문제는 .NET 1.1 dll에서 .NET 3.0 dll을 호출 할 수 없다는 것입니다..NET 1.1 응용 프로그램에서 .NET 3.0 DLL을 호출하는 방법은 무엇입니까?

우리는 아래의 옵션으로 간주됩니다.

(1) 현재 1.1 응용 프로그램을 3.5 또는 최신 버전으로 마이그레이션하는 중입니다. 그러나 응용 프로그램이 중요하고 복잡한 응용 프로그램이므로 많은 노력을 필요로하기 때문에 승인을 얻지 못했습니다.
(2) 1.1 및 3.5 모두에 대해 커뮤니 케이 터 역할을 할 수있는 중간 VB 구성 요소를 만듭니다. 레이어가 하나 더 추가되어 아키텍처가 변경됩니다. 성능 문제와 아키텍처 검토로 인해 승인을받지 못했습니다.
(3) .NET을 통해 SAP를 호출하는 웹 서비스를 만듭니다. SAP 커넥터와 동일한 서버에있는 호스트를 사용하고 .NET 1.1 응용 프로그램에서이를 소비합니다. 또한 성능 문제 및 아키텍처 검토로 인해 승인되지 않습니다.
(4) .NET 1.1과 .NET 3.0 응용 프로그램 간의 통신에 도움이되는 WCF의 다른 메커니즘을 확인합니다. 또한 성능 문제 및 아키텍처 검토로 인해 승인되지 않습니다.
(5) .NET 3.5 클래스를 COM 개체 (out-of-process)로 노출시키고 .NET 1.1 응용 프로그램에서 이러한 COM 개체를 사용합니다. 이 옵션을 시도했지만 "NETDLL '에 대한 참조를 추가 할 수 없습니다. 형식 라이브러리를 .NET 어셈블리로 변환하지 못했습니다. 형식 라이브러리 NETDLL이 CLR 어셈블리에서 내보내 졌으므로 다음과 같이 다시 가져올 수 없습니다. CLR 어셈블리 "

아키텍처 변경에 비용이 들지 않고 성능에 영향을 미치지 않는 다른 접근 방법을 도와 줄 수 있습니까? 제발 도와주세요

+5

.NET 1.1에 대한 * 확장 * 지원이 [10 월 올해] (http://support.microsoft.com/lifecycle/search/Default.aspx?sort=PN&alpha=)로 끝나는 상위 업을 지적하십시오. NET + 프레임 워크)? 응용 프로그램이 중요한 경우 지원되는 플랫폼에서 실행하지 않아야합니까? –

+0

다른 팀과 프로젝트가이 변경 사항에 의존하고 있으며 현재로서는 제공하지 않으면 배송이 차단됩니다. 모두가 최선의 선택이라는 데 동의합니다. 그러나이 시점에서는 실현 가능하지 않습니다. – Babu

+0

.NET Remoting도 매우 빠릅니다. 패치로 1.1과 2.0 사이에서 작동 할 수 있습니다. http://blogs.msdn.com/b/eugeneos/archive/2006/03/15/552315.aspx 그러나 나는 여전히 귀하의 솔루션 (1)이 훨씬 쉽고 편리하다고 생각합니다. 오류가 발생하기 쉽습니다. 왜 그렇게 많이 일할 것이라고 생각하니? 대부분의 경우, 그리 어렵지 않습니다. –

답변

1

마지막으로 다음 방법으로 문제를 해결했습니다. 우리는 1.1 응용 프로그램에 .NET 2.0 SAP 커넥터를 사용하기로 결정했습니다. Visual Studio 2003의 .NET 1.1 IDE와 .NET 2.0 커넥터를 통합하거나 구성 할 수 있습니다. Visual Studio 2003 IDE에 통합하면 1.1 프로젝트에서 .NET 2.0 SAP 커넥터를 사용할 수있는 1.1 SAP 2.0 커넥터 프로젝트를 만들 수 있습니다. .NET 1.1 dll을 생성합니다.

2

나는 비슷한 작업을 오래 전에 했어.
아마도 가장 쉬운 방법은 .NET 3.5 클래스를 COM 개체 (외부 프로세스)로 노출시키고 .NET 1.1 응용 프로그램에서 이러한 COM 개체를 사용하는 것입니다.

+0

우리는 그 옵션으로 시도했지만 작동하지 않습니다. COM 참조를 프로젝트 – Babu

+0

@BVR에 추가하는 동안 오류가 발생했습니다. 아마도 잘못된 것이 었습니다. 정보가 충분하지 않습니다. – user626528

+0

"NETDLL '에 대한 참조를 추가 할 수 없습니다. 유형 라이브러리를 .NET 어셈블리로 변환하지 못했습니다. 유형 라이브러리 NETDLL이 CLR 어셈블리에서 내보내 졌으므로 CLR 어셈블리로 다시 가져올 수 없습니다." – Babu

관련 문제