我在一个具有许多测试的解决方案中有各种项目,其中一个使用实体并具有以下行为:如果我右键单击运行项目上的所有测试,一切都运行顺利,但如果我右键单击解决方案并执行同样的操作,我得到:
系统。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="C:Userslouis gentilDocumentsVisual Studio 2013ProjectsTFSLouisGentilSQLModuleSQL-Database.mdf";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,而且可能是错误的。