.NET Framework 4.0, Entity Framework 6.1.3 및 Sqlite 1.0.96.0으로 C # 응용 프로그램을 개발 중입니다.
GAC에 설치된 SQLite
, 를 사용하는 어셈블리가 있습니다 MyCompany.Data.Sqlite.Common
(GAC System.Data.SQLite
에도 설치됨).
두 가지 오류가 있습니다.
'Entity Framework는 형식이 검색되기 전에 기본 인스턴스 DbConfiguration을 사용했습니다.'SQLiteConfiguration '. 'SQLiteConfiguration'의 인스턴스는 기능을 사용하기 전에 응용 프로그램 시작 부분에 설정해야합니다. 그렇지 않으면 Entity Framework가 응용 프로그램의 구성 파일에 등록되어 있어야합니다. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkId=260883 을 참조하십시오. '
이 문제를 해결하기 위해 다음을 추가했습니다 App.config
.
<entityFramework codeConfigurationType="MyCompany.Data.Sqlite.Common.SQLiteConfiguration, MyCompany.Data.Sqlite.Common">
그러나 이것을 App.config
프로그램에 추가 한 후에 는 GAC에서로드하지 않습니다.
동일한 dll을 EXEC 폴더에 복사하여로드하고 프로그램을 실행해야합니다.
GAC에서 동일한 dll을 사용하고 있기 때문에 버전 번호 문제가 아니거나 dll의 형식이 잘못되었다고 생각합니다.
나는 또한 이것을 추가했습니다 App.config
:
<dependentAssembly>
<assemblyIdentity name="MyCompany.Data.Sqlite.Common" publicKeyToken="db937bc2d44ff139" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0" />
</dependentAssembly>
하지만 dll을 응용 프로그램의 폴더에 복사해야합니다.
어떤 생각?
GAC에서 어셈블리를로드하려면 정규화 된 어셈블리 이름이 필요합니다. 예를 들면 다음과 같습니다.
<entityFramework codeConfigurationType="MyCompany.Data.Sqlite.Common.SQLiteConfiguration, MyCompany.Data.Sqlite.Common, Version=1.1.1.1, Culture=neutral, PublicKeyToken=ABCD1234567890">
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다