我正在尝试部署一个自定义 ADO.NET 提供程序(具体来说是 SQLite)。我的项目中包含了该程序集,该程序集在安装期间部署到用户的机器上。我也包括<DbProviderFactories>
了部分app.config
。整个设置工作正常,我可以使用我的提供程序。
现在的问题是我想将提供程序程序集移动到一个子文件夹,我想这会阻止<DbProviderFactories>
它找到它。没有“路径”类型的属性可以用来告诉它我的程序集的确切位置。我的前进方向是什么?
DbProviderFactories
实例化DbProvider
using 反射,因此程序集是动态加载的,这意味着 CLR 将使用正常的程序集解析过程。
我没有在实践中尝试过,但是您应该能够使用探测配置添加包含提供程序程序集的附加程序集私有路径。
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="bin;bin\dbprovider"/>
</assemblyBinding>
</runtime>
</configuration>