4

他に誰に助けを求めたらよいかわかりません。

ここ私の会社では、システムを移行しています。2.0~3.5ネット

エンタープライズ ライブラリ 3.1 を使用しており、5.0 に移行しています。

構成ファイルのツールを使用しました

コンパイルは問題ありませんでしたが、実行すると次のメッセージが表示されます。

タイプ データベース、キー「MrvFramework」のインスタンスを取得しようとしているときにアクティベーション エラーが発生しました

依存関係の解決に失敗しました。タイプ = "Microsoft.Practices.EnterpriseLibrary.Data.Database"、名前 = "MrvFramework"。例外が発生しました: 解決中。

例外: InvalidOperationException - タイプ Database を構築できません。この値を提供するようにコンテナーを構成する必要があります。

例外の時点で、コンテナーは次のとおりでした。 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:\MRV\Projetos\MRV Framework\Branch\Update SqlServerCe\MRV.Framework.Seguranca.Console\MRVFramework.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, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  <add name="OleDb Data Provider" invariant="System.Data.OleDb" description=".Net Framework Data Provider for OleDb" type="System.Data.OleDb.OleDbFactory, System.Data, Version=2.0.0.0, Culture=neutral, 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, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  <add name="SqlClient Data Provider" invariant="System.Data.SqlClient" description=".Net Framework Data Provider for SqlServer" type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=2.0.0.0, Culture=neutral, 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, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</DbProviderFactories>
4

2 に答える 2

1

このコードを web.config に追加します

<runtime>
   <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
     <qualifyAssembly partialName="Microsoft.Practices.EnterpriseLibrary.Data" fullName="Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
   </assemblyBinding>
</runtime>
于 2015-06-11T09:36:52.030 に答える