VS20012의 VB.NET을 사용하여 외부 .sdf 파일에 연결하려고합니다. System.Data.SqlServerCE DLL로 작업하는 데 문제가 있습니다.파일 또는 어셈블리 'System.Data.SqlServerCE'을로드 할 수 없습니다.
로컬을 복사하지 않을 때 오류가 발생합니다. 파일 또는 어셈블리 'System.Data.SqlServerCe, 버전 = 3.5.1.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91'또는 해당 종속성 중 하나를로드 할 수 없습니다. 시스템이 지정된 파일을 찾을 수 없습니다.
로컬 복사 : 파일 또는 어셈블리 'System.Data.SqlServerCe, 버전 = 3.5.1.0, culture = neutral, PublicKeyToken = 89845dcd8080cc91'또는 해당 종속성 중 하나를로드 할 수 없습니다. 찾은 어셈블리의 매니페스트 정의가 어셈블리 참조와 일치하지 않습니다. (HRESULT 예외 : 0x80131040)
SQL Server Compact 버전 4가 설치되어 있으므로 "C : \ Program Files (x86) \ Microsoft SQL Server Compact Edition \ v4.0 \ Private"에서 DLL을 참조하고 있습니다. . 다른 위치에서이 DLL을 추가하려고 시도하고 "같은 종속 어셈블리의 다른 버전간에 충돌이 발견되었습니다"라는 경고가 표시됩니다. 나는 그것을 추가 할 것입니다 것을 클릭하면하여의 app.config에 다음을 한번
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Data.SqlServerCe" publicKeyToken="89845DCD8080CC91" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.0.1" newVersion="4.0.0.1"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
하는 나는이 오류의 app.config에 추가됩니다
SQL 서버의 기본 구성 요소를로드 할 수 없습니다 버전 8876의 ADO.NET 공급자에 해당하는 압축. 올바른 버전의 SQL Server Compact를 설치하십시오. 자세한 내용은 기술 자료 문서 974247을 참조하십시오.
이전에 알아챈 사실 중 하나는 System.Data.SqlServerCe가 C : \ Windows \ Microsoft.NET \ assembly 폴더에 없다는 것입니다. I는 (4.0.0.0는 gacutil 의해 표시된 버전 임)을 사용하여 gacutil.exe DLL을 설치
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
로의 app.config에
<bindingRedirect oldVersion="0.0.0.0-4.0.0.1" newVersion="4.0.0.1"/>
변경.
이것은 최소한 조립 오류를 극복했습니다. :)
답변을 게시하기에는 너무 이르므로이 수정 사항을 남겨 두겠습니다.
이 질문에 대한 답변을 얻었습니까? – jeffery
그리고 지금 대답 해 줍니까? –