C# System.InvalidOperationException:无法构造类型数据库

C# System.InvalidOperationException:无法构造类型数据库,c#,wcf,nunit,assemblies,enterprise-library,C#,Wcf,Nunit,Assemblies,Enterprise Library,我一直在研究如何将一些旧代码重构成一个新的基于NET4.0的WCF服务,但在这个简单的练习中遇到了一些困难 情景 WCF服务托管在HTTP上,实现了连接到本地Sql Server的ServiceContract 当尝试对服务调用运行简单的NUnit测试时,我得到以下错误: *HelpManager.Tests.GetPage.GetPageById错误 例外情况: System.ServiceModel.FaultException`1[System.ServiceModel.Exception

我一直在研究如何将一些旧代码重构成一个新的基于NET4.0的WCF服务,但在这个简单的练习中遇到了一些困难

情景

WCF服务托管在HTTP上,实现了连接到本地Sql Server的ServiceContract

当尝试对服务调用运行简单的NUnit测试时,我得到以下错误:

*HelpManager.Tests.GetPage.GetPageById错误 例外情况: System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: 尝试获取类型的实例时发生激活错误 数据库,键“HelpManagement”(故障详细信息等于 ExceptionDetail,可能由创建 IncludeExceptionDetailInFaults=true,其值为: Microsoft.Practices.ServiceLocation.ActivationException:激活 尝试获取类型为Database、key的实例时出错 “帮助管理”--> Microsoft.Practices.Unity.ResolutionFailedException:解决 依赖项失败,类型为= “Microsoft.Practices.EnterpriseLibrary.Data.Database”,名称= “HelpManagement”。在解析时发生异常。异常 is:InvalidOperationException-类型数据库不能为 已构造。必须配置容器以提供此值。 -----------------------------------------------当时 例外情况下,容器为:

解决 Microsoft.Practices.EnterpriseLibrary.Data.Database,HelpManagement ---->System.InvalidOperationException:无法创建类型数据库 已构造。必须配置容器以提供此值。
在 Microsoft.Practices.ObjectBuilder2.DynamicMethodConstructorStrategy.GuardTypeIsNonPrimiti…)

我们的(相当标准的)wcfweb.config如下所示

<configSections>
    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true"/>
</configSections>

<dataConfiguration defaultDatabase="HelpManagement"/>

<connectionStrings>
    <add name="HelpManagement" connectionString="server=(local);database=ieq;uid=;pwd=" providerName="System.Data.SqlClient"/>
</connectionStrings>
谷歌等公司一直没有乐趣。我检查了版本等,它们似乎都引用了GAC的相同5.0.14,因此不确定问题出在哪里


提前感谢

听起来可能是您的配置。您是否在配置文件(例如)中指定了dataConfiguration defaultDatabase值?

我想知道Microsoft.Practices.ObjectBuilder.dll和Microsoft.Practices.EnterpriseLibrary.Common是否在WCF项目中引用了它们?

您的nunit项目是否有包含此配置信息的app.config,该项目引用了模式与实践DLL?@sfuqua。是的(添加到测试中),但我为什么需要它呢。就nunit而言,我正在调用一个WCF服务,该服务然后调用DB。Nunit不需要了解服务的内部工作原理,只需检查响应即可。显然,我没有得到服务接口的意图单元测试,而不仅仅是服务内部的代码。
private const string DB_HelpManagement = "HelpManagement";
var db = DatabaseFactory.CreateDatabase(DB_HelpManagement);