2011-03-31 5 views
0

우리는 타사 구성 요소를 사용하는 .net 1.1 프로젝트가 있습니다. Aparently 그 구성 요소가 새로운 요구 사항과 제대로 작동하지 않으며 제공자의 지원이 없습니다. 제공자는 올바르게 작동하는 새로운 구성 요소를 사용하도록 제안했습니다. 문제는이 구성 요소에 .net 2.0이 필요하다는 것입니다..net 1.1 응용 프로그램이 .net 2.0 어셈블리와 함께 작동하는 방법

프로젝트가 크고이 프로젝트를 2.0으로 옮기는 데 많은 비용이 듭니다.

우리가 가질 수있는 다른 대안은 무엇입니까? 1.1 어셈블리는 2.0 어셈블리를 어떻게 호출 할 수 있습니까?

답변

2

내부 형식이 변경되어 .NET 1.1 어셈블리를로드 할 수 없습니다. 귀하의 응용 프로그램은 기본적으로 어셈블리가 .NET 어셈블리가 아니라고 생각합니다.

장기간, .NET 2.0을 사용하도록 응용 프로그램을 업데이트하는 것이 좋습니다. (현재 2.0 이후로 여러 버전의 .NET이 있으므로 새로운 것이 아닌 경우). 그러나 이것이 옵션이 아니면 실행 파일에 대한 .config 파일을 만들고 앱을 실행할 때 항상 .NET 2.0을 사용하도록 CLR에 지시 할 수 있습니다. 이렇게하면 .NET 2.0 어셈블리를로드 할 수 있지만 응용 프로그램에서 사용하는 .NET 1.1과 2.0 사이의 변경 사항이 있으면 오류가 발생합니다.

+0

필요한 기능을 사용하여 2.0 어셈블리 주변에 래퍼 객체를 생성하고 이것을 COM DLL로 게시하는 것이 좋은 생각이라고 생각하십니까? – baraban

+0

@ user976536 그럴 것이라고 생각하지 않습니다. .NET 4.0 이전에는 프로세스에 CLR이 1 개만 실행될 수있었습니다. .NET 1.1 응용 프로그램에서 COM 개체를로드하려고하면 .NET 2.0 어셈블리를로드하기 위해 .NET 2.0을로드해야합니다. .NET 1.1 CLR이 이미 프로세스에로드되어 있기 때문에 오류가 발생합니다. – Andy

관련 문제