概述
将 Fitnesse 与 EF6 一起使用,无法启动 Effort。我已经在我能找到的所有帖子中尝试了所有技巧。
所有帖子都说要么调用“RegisterProvider”,要么添加一个配置部分。两者都不起作用。
到目前为止:
我在 machine.config 的 DbProviderFactories 部分中有“Effort.Provider”。当我查看 DbProviderFactories.GetFactoryClasses(); 时出现了 Effort.Provider ProcMon 显示它正在寻找并找到 Effort.dll。
结果:
任何一个
DbConnectionFactory.CreateTransient();
Effort.EntityConnectionFactory.CreateTransient(connectionString);
DbProviderFactory dataFactory = DbProviderFactories.GetFactory(dt.Rows[5]);
扔
Effort.Exceptions.EffortException: The Effort library failed to register
还尝试过:
Runner.exe.config 的 entityFramework 部分中的“Effort.Provider”,但无法使其正常工作。刚刚崩溃了应用程序。
卸载 EF 和 Effort.EF6 并重新安装。无明显效果。
调用 Effort.Provider.EffortProviderConfiguration.RegisterProvider(); 从类构造函数和各种启动位置。Effort.Provider 从未出现在 DbProviderFactories.GetFactoryClasses();
通过 app.config 的 DbProviderFactories 部分中的“Effort.Provider”,它与 machine.config 一样显示在 GetFactoryClasses 中。
使用:
Windows 10
.Net 4.6
VS 2016
EF 6.1.2(虽然它说安装了 6.1.3,但不确定这意味着什么)
我需要注册一个DLL还是什么?说明中没有关于此的内容。
更多细节:
App.config
<configuration>
<runtime>
<loadFromRemoteSources enabled="true"/>
</runtime>
<system.data>
<DbProviderFactories>
<add name="Effort.Provider" invariant="Effort.Provider" description="Effort.Provider" type="Effort.Provider.EffortProviderFactory, Effort" />
</DbProviderFactories>
</system.data>
</configuration>