<entityFramework>
<providers>
<provider invariantName="Devart.Data.Oracle" type="Devart.Data.Oracle.Entity.OracleEntityProviderServices, Devart.Data.Oracle.Entity.EF6, Version=9.14.1204.0, Culture=neutral, PublicKeyToken=09af7300eec23701" />
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
我正在为应用程序(ESRI ArcMap)开发一个加载项库。同时,我想使用 EF6 作为 DB Accessing。我的问题是应用程序每次执行时都会崩溃DbProviderFactories.GetFactory("Devart.Data.Oracle")
并提示错误为Devart.Data.Oracle Failed to find or load the registered .Net Framework Data Provider.
我确信所有必需的库都与主加载项 DLL 放在同一个文件夹中。但是,主应用程序 exe 与加载项 DLL 不在同一个位置。似乎应用程序通过单独搜索加载项文件夹来加载其加载项 DLL。
我的观察是,DbProviderFactories.GetFactory
仅在 exe 所在的文件夹中搜索提供程序 DLL。因此,它找不到位于加载项文件夹中的提供程序 DLL。我可以知道是否有任何方法可以指定在哪里DbProviderFactories.GetFactory
搜索提供程序 DLL?
提前致谢。