2012-03-27 8 views
1

배포하는 모든 시도에 저항한다 나의 첫 SQLCLR 프로젝트 ... 난 당신이 이었다 SQL CLR 프로젝트를 배포하는 경우 다음과 같은 오류가 나타날 수 있습니다SQLCLR 프로젝트를 배포 할 수 없습니다

오류를 얻을

SQL Server의 대상 인스턴스와 호환되지 않는 .NET Framework 버전 용으로 작성되었습니다. "배포 오류 SQL01268 : 어셈블리에 대한 CREATE 어셈블리가 실패했습니다." 으로이 문제를 해결하려면 프로젝트의 속성을 열고 .NET Framework 버전 을 변경하십시오.

C : ... \ SqlClr.dll : 오류 배포 : 매개 변수 MyModel.Customer 고객

명령

select * from sys.dm_clr_properties 

반환에 대한 유형을 만들 수 없습니다

디렉토리 C : \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \

버전 2.0.50727

상태 CLR은

프로젝트에 대한 Target framework를 오류 메시지 MyModel.Customer에서 참조 객체가 링크를 통해 SQLCLR 프로젝트에 포함되어 .NET Framework 2.0

이 (추가되어 초기화된다 NET Framework 4.0을 사용하는 다른 프로젝트에서 기존 항목/링크로 추가)하지만 다른 프로젝트의 .NET 버전에는 아무런 영향이 없어야합니다.

무엇이 누락 되었습니까?

+0

조건부 컴파일은 아마도 그것을 제외 할 것입니까? – leppie

+0

@leppie : 무엇을 제외하나요? 내 SQLCLR 절차에 필요한 데이터를 전송할 때 MyModel.Customer가 필요합니다. –

답변

3

.NET 4.0에 종속 된 어셈블리를 참조하는 경우 문제가 발생할 가능성이 큽니다. 제 생각에 SQLCLR 어셈블리는 .NET 2.0에서 3.5 버전을 기반으로해야합니다. 4.0 이전의 버전 2.x는 실제로 2.0 기반의 확장이기 때문입니다. 이는 Framework 4.0을 지원하기 위해 이 아닌에 대한 명시적인 결정과 관련하여 최근에 읽은 일부 정보와 일치하는 경향이 있습니다.

관련 문제