2012-08-29 4 views
2

최근에 프로젝트를 .net 3.5에서 .net 4로 업그레이드하고 새 SQL Server 2008 R2에 연결해야합니다. 업그레이드하고 컴파일 한 후 다음 두 가지 오류가 발생합니다.형식 'Microsoft.SqlServer.Dts.Runtime.Wrapper.ApplicationClass'에 정의 된 생성자가 없습니다

Interop 형식 'Microsoft.SqlServer.Dts.Runtime.Wrapper.ApplicationClass'는 포함 할 수 없습니다. 해당 인터페이스를 대신 사용하십시오.

유형 'Microsoft.SqlServer.Dts.Runtime.Wrapper.ApplicationClass이'가 더 생성자

을 정의되지

코드이 오류가 ApplicationClass에 던져 :) ( IDTSApplication90 응용 프로그램 = 새로운 ApplicationClass;

나는 bin 폴더에서이 DLL을 가지고 : Microsoft.SqlServer.DTSRuntimeWrap.dll 이 DLL의 버전은 내가 .NET 4를 좋아하지 않는 생각

9.0.242.0

입니다. 그래서 DBA에게 서버에서이 파일을 검색하여 버전 10을 찾도록 요청합니다.이 파일은 SQL Server에 존재하지 않는다고합니다.

이 문제를 해결하려면 어떻게해야합니까?

답변

1

이 DLL의 올바른 버전은 10.50.1600.1이며 C : \ Program Files (x86) \ Microsoft SQL Server \ 100 \ SDK \ Assemblies에 있습니다. 거기서 검색해보십시오.

+0

내 로컬 상자에 마지막으로 dll이 있습니다. 그러나 IDTSApplication90을 IDTSApplication100으로 변경 한 후에도이 문제가 해결되지 않았습니다. 누군가 도울 수 있니? – Meidi

1

MSDN 따르면

Microsoft.SqlServer.Dts.Runtime.Wrapper 네임 스페이스가 런타임 제어 흐름 구성 요소를 만드는 데 사용되는 클래스와 인터페이스를 제공합니다. 이 어셈블리는 네임 스페이스 Microsoft.SqlServer.Dts.Runtime에 대한 주 Interop 어셈블리 (PIA)이며 Microsoft.SqlServer.ManagedDTS ( microsoft.sqlserver.manageddts.dll)입니다. 이 네임 스페이스 의 클래스는 인스턴스화하면 안됩니다. 대신 Microsoft.SqlServer.Dts.Runtime에있는 클래스를 사용하십시오.

Microsoft.SqlServer.Dts.Runtime 네임 스페이스의 클래스를 사용하도록 코드를 다시 작성해야한다고 생각합니다. 이 네임 스페이스의 Application을 인스턴스화 할 수 있습니다. 패키지를로드하고 실행하는 예제는 here입니다.

+0

정말 나를위한 옵션이 아닙니다. 이 코드를 건드리지 않고 .NET 3.5에서 .NET 4로 업그레이드하는 솔루션이 있습니까? – Meidi

관련 문제