使用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(),但从未在DbProviderFactories.GetFactoryClasses()中显示出Effort.Provider;
如果在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>