概述
将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]);
Run Code Online (Sandbox Code Playgroud)
扔
Effort.Exceptions.EffortException: The Effort library failed to register
Run Code Online (Sandbox Code Playgroud)
还尝试了:
Runner.exe.config的entityFramework部分中的"Effort.Provider"但无法使其工作.刚崩溃的应用程序.
卸载EF和Effort.EF6并重新安装.没有明显的效果.
调用Effort.Provider.EffortProviderConfiguration.RegisterProvider(); 从类构造函数和各种启动位置.Effort.Provider从未出现在DbProviderFactories.GetFactoryClasses();
使用app.config中DbProviderFactories部分中的"Effort.Provider",它显示在GetFactoryClasses中,与machine.config一样.
使用:
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>
Run Code Online (Sandbox Code Playgroud)