加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 企业库迁移 – 您必须配置容器以提供此值

发布时间:2020-12-15 21:40:45 所属栏目:百科 来源:网络整理
导读:我不知道还有谁可以寻求帮助. 在我的公司,我们正在迁移系统. 2.0到3.5净 我们使用企业库3.1,我们正在迁移到5.0 我使用该工具进行配置文件 编译还可以,但是当我运行时,我会收到以下消息: 尝试获取数据库类型的实例时出现激活错误,密钥“MrvFramework” 依赖
我不知道还有谁可以寻求帮助.

在我的公司,我们正在迁移系统. 2.0到3.5净

我们使用企业库3.1,我们正在迁移到5.0

我使用该工具进行配置文件

编译还可以,但是当我运行时,我会收到以下消息:

尝试获取数据库类型的实例时出现激活错误,密钥“MrvFramework”

依赖项的解析失败,type =“Microsoft.Practices.EnterpriseLibrary.Data.Database”,name =“MrvFramework”.
在解决时发生异常:

例外情况是:InvalidOperationException – 无法构造数据库类型.您必须配置容器以提供此值.

在例外时,容器是:
??解决Microsoft.Practices.EnterpriseLibrary.Data.Database

我在互联网上花了很多时间:

我做过这个测试:

>项目中引用了企业库所需的所有DLL
> var database = DatabaseFactory.CreateDatabase(MrvFramework)
> var database = EnterpriseLibraryContainer.Current.GetInstance< Database>(MrvFramework)
> var database = new SqlDatabase(MrvFramework)

这是我的app.config(代码段代码)

<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" />

<dataConfiguration defaultDatabase="MRVFramework"/>
<connectionStrings>
   <add name="MRVFramework" connectionString="Data Source=H:MRVProjetosMRV FrameworkBranchUpdate SqlServerCeMRV.Framework.Seguranca.ConsoleMRVFramework.sdf;Persist Security Info=True" providerName="System.Data.SqlClient"/>
</connectionStrings>

这是我的machine.config文件

<DbProviderFactories>
  <add name="Odbc Data Provider" invariant="System.Data.Odbc" description=".Net Framework Data Provider for Odbc" type="System.Data.Odbc.OdbcFactory,System.Data,Version=2.0.0.0,PublicKeyToken=b77a5c561934e089" />
  <add name="OleDb Data Provider" invariant="System.Data.OleDb" description=".Net Framework Data Provider for OleDb" type="System.Data.OleDb.OleDbFactory,PublicKeyToken=b77a5c561934e089" />
  <add name="OracleClient Data Provider" invariant="System.Data.OracleClient" description=".Net Framework Data Provider for Oracle" type="System.Data.OracleClient.OracleClientFactory,System.Data.OracleClient,PublicKeyToken=b77a5c561934e089" />
  <add name="SqlClient Data Provider" invariant="System.Data.SqlClient" description=".Net Framework Data Provider for SqlServer" type="System.Data.SqlClient.SqlClientFactory,PublicKeyToken=b77a5c561934e089" />
  <add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory,System.Data.SqlServerCe,Version=3.5.1.0,PublicKeyToken=89845dcd8080cc91" />
</DbProviderFactories>

解决方法

将此代码添加到您的web.config中

<runtime>
   <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
     <qualifyAssembly partialName="Microsoft.Practices.EnterpriseLibrary.Data" fullName="Microsoft.Practices.EnterpriseLibrary.Data,PublicKeyToken=31bf3856ad364e35"/>
   </assemblyBinding>
</runtime>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读