我正在開發一個C#應用程序與.NET Framework 4.0,Entity Framework 6.1.3和Sqlite 1.0.96.0。無法從GAC加載程序集,但它從程序文件夾加載
我有一個程序集,它使用SQLite
,MyCompany.Data.Sqlite.Common
,安裝在GAC上(System.Data.SQLite
也安裝在GAC上)。
我有兩個錯誤:
「實體框架使用的默認實例DbConfiguration檢測前 型」 SQLiteConfiguration」。在使用任何功能之前,應在 應用程序的開頭設置一個 「SQLiteConfiguration」實例,或者在應用程序的配置文件中註冊實體框架必須爲 。有關更多信息,請參閱 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文件夾加載它並運行該程序。
我認爲這不是版本號問題,或者dll格式不正確,因爲我在GAC中使用了相同的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的天然等同物,組件版本和具有所謂的「強」名稱中包含的散列 - 而當私人(在相同的文件夾中的,作爲應用)集被加載剛集名稱用來。也許類似的主體在這裏適用,並且您沒有指定程序集的正確版本,因此無法從GAC加載?只是一個猜測。 –