Microsoft.Practices.EnterpriseLibrary.Data.DLL 但未在用户代码中处理

Microsoft.Practices.EnterpriseLibrary.Data.DLL but was not handled in user code

搜索google并使用企业库数据访问连接数据库。

使用 https://www.nuget.org/packages/EnterpriseLibrary.Data/.

仅安装了数据访问包

添加到项目后,我设置了如下配置,

     <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="false" />
    </configSections>
  <dataConfiguration defaultDatabase="dProvider" />
    <connectionStrings>
        <add name="dProvider" connectionString="server=local;Initial Catalog=n;uid=sa;pwd=pwd"
            providerName="System.Data.SqlClient" />
    </connectionStrings>

通过应用程序调用,如下所示,

Database db;
            string sqlCommand;
            DbCommand dbCommand;

            db = DatabaseFactory.CreateDatabase("dProvider"); or DatabaseFactory.CreateDatabase();

运行应用程序后,出现以下异常,

{"Database provider factory not set for the static DatabaseFactory. Set a provider factory invoking the DatabaseFactory.SetProviderFactory method or by specifying custom mappings by calling the DatabaseFactory.SetDatabases method."}

我犯了什么错误?如何解决这个问题?

终于找到答案了。由于配置部分已发生。

我用过版本 6,但这里我在配置部分提到了版本 5。所以错误发生了。

我已经像下面这样替换了配置部分,它工作得很好。 :-)。非常感谢帮助者。

<configSections>
         <section name="dataConfiguration" 
      type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, 
            Microsoft.Practices.EnterpriseLibrary.Data"/>
    </configSections>

并使用 DataBaseProviderFactory class 创建实例。

DatabaseProviderFactory factory = new DatabaseProviderFactory();

            db = factory.Create("dProvider");