实体框架—从项目和解决方案运行非单元测试时的不同行为



我在一个具有许多测试的解决方案中有各种项目,其中一个使用实体并具有以下行为:如果我右键单击运行项目上的所有测试,一切都运行顺利,但如果我右键单击解决方案并执行同样的操作,我得到:

系统。InvalidOperationException:在应用程序配置文件中找不到名为"实体"的连接字符串。

我在app。config

中有这些行
  <connectionStrings>
    <add name="Entities" connectionString="metadata=res://*/Sales.csdl|res://*/Sales.ssdl|res://*/Sales.msl;provider=System.Data.SqlClient;provider connection string='data source=(LocalDB)v11.0;attachdbfilename=&quot;C:Userslouis gentilDocumentsVisual Studio 2013ProjectsTFSLouisGentilSQLModuleSQL-Database.mdf&quot;;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework'" providerName="System.Data.EntityClient" />
  </connectionStrings>
  <entityFramework>

kif询问的更多信息:

  • 在Visual Studio
  • 我使用resharper作为单元测试器
  • 我不知道测试项目是否编译成一个应用程序,我不这么认为,它只是一个类库,我用来测试。
  • 它确实有自己的app.config。
  • 上面的错误是当我右键单击我的解决方案,并要求resharper运行单元测试,无论什么项目是启动项目。

你知道是什么导致了这种行为吗?

尝试在ReSharper→选项→单元测试中选择"为每个带有测试的程序集使用单独的AppDomain "。这是ReSharper做的一个优化,它重用AppDomains(它们设置起来很昂贵),但有一个副作用,就是只能加载一个app.config,而且可能是错误的。

最新更新