2013-10-30 3 views
4

first-chance exceptionsVS2010에서 사용할 수있게되면 EntityFramework'sSaveChanges()을 처음 호출 할 때 다음 메시지가 나타납니다. 이것은 데이터베이스를 실행하는 WinForms 응용 프로그램입니다.Microsoft.SqlServer.Types를로드하지 못했습니다.

BindingFailure 표시 이름 'Microsoft.SqlServer.Types'ID 1. 실패의 원인을 AppDomain에의 컨텍스트를 결합하고 '로드'로 로드되지 가진 조립체 System.IO .FileLoadException : 파일 또는 어셈블리 'Microsoft.SqlServer.Types, 버전 = 11.0.0.0, 문화 = 중립, PublicKeyToken = 89845dcd8080cc91'또는 해당 종속성 중 하나를로드 할 수 없습니다. 위치한 어셈블리의 매니페스트 정의가 과 일치하지 않습니다. 계속 후

,이 메시지는 표시됩니다

FileLoadException 파일이나 어셈블리 'Microsoft.SqlServer.Types, 버전 = 11.0.0.0를로드 할 수 없습니다, 문화 = 중립, PublicKeyToken = 89845dcd8080cc91 '또는 의 종속성 중 하나입니다. 위치한 어셈블리의 매니페스트 정의 이 어셈블리 참조와 일치하지 않습니다. (HRESULT에서 예외 : 0x80131040)

나는 프로젝트의 Microsoft.SqlServer.Types.dll을 포함 시켰습니다.

이것이 첫 번째 예외이며 디버깅 할 때 알림 외부의 응용 프로그램에는 영향을주지 않는 것으로 알고 있지만 어쨌든 수정하려고합니다. (그것은 내 마음 속에서 나를 괴롭 히고 있습니다.)

먼저,이 오류 메시지는 무엇입니까?

두 번째, 어떻게 수정합니까?

+0

Windows.SqlServer.Types 패키지를 설치해야합니다 ... http://www.microsoft.com/en-in/download/details.aspx?id=16978에서 다운로드하거나 nugGet 팩을 설치하려면 ' Install-Package Microsoft.SqlServer.Types' – noobob

+0

@noobob Windows.SqlServer.Types 패키지가 표시되지 않습니다. 나는 그것을 놓치고 있는가? 아니면 뭔가 다른 것인가? 맨 위에 "패키지"를 다운로드하면 SQL Server 2008 R2 기능 팩 구성 요소에 대한 링크가 SQL Server 2008 R2 기능 팩 페이지의 "지침"섹션에 나와 있습니다. 해당 패키지의 지침 섹션에서 다운로드가 표시되지 않습니다. – teynon

+0

@noobob 패키지를 설치했지만 여전히 메시지를받습니다. – teynon

답변

3

공간 형식을 사용하는 경우 EF는 AppDomain에로드되는 SqlTypes가로드되어 있는지 확인하여 SqlServer와 통신 할 때 사용할 수 있도록 바인딩해야합니다. Here은이를 수행하는 코드입니다. BindToLatest() 메서드를 보면 실제로 catch되고 무시되는 경우 예외가 표시됩니다. 디버그 -> 예외, 공용 언어 런타임 예외, "Thrown"열이 선택된 경우 "예외가 발생했을 때 중단"옵션이 선택되어 있기 때문에 디버그 할 때만 볼 수 있습니다.

0

첫 번째 예외는 고칠 문제. 예외가 처리되면 코드에 아무런 영향을 미치지 않습니다.

걱정해야 할 예외는 처리되지 않은 것입니다.