13

Enterpriseライブラリ5.0からDAABを実行しようとしているときに、いくつかの問題が発生しています。チュートリアルの手順に従いましたが、エラーが発生します...

1)エンタープライズライブラリをダウンロード/インストールします

2)必要なブロックへの参照を追加します(共通/データ)

3)輸入

Imports Microsoft.Practices.EnterpriseLibrary.Common
Imports Microsoft.Practices.EnterpriseLibrary.Data

4)エンタープライズライブラリ構成ソフトウェアを介して。私は自分のサイトからweb.configを開きます。次に、[ブロック]、[データ設定の追加...]の順にクリックし、詳細を入力して保存/閉じる

5)次に(セットアップが完了したと考えて)、を介してデータベースのインスタンスを取得しようとします

 Dim db As Database = DatabaseFactory.CreateDatabase() 

6)コンパイルすると、次のエラーが発生します。

ファイルまたはアセンブリ'Microsoft.Practices.EnterpriseLibrary.Data、Version = 5.0.414.0、Culture = neutral、PublicKeyToken=31bf3856ad364e35'またはその依存関係の1つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULTからの例外:0x80131040)(C:\ site \ web.config行4)

web.configの4行目は、構成ツールによって生成されたもので、次のとおりです。

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

必要な手順がありませんか?手順を間違った順序で実行しましたか?間違えましたか?

助けてくれてありがとう。

4

6 に答える 6

20

答え:

誤って src コード フォルダーからアセンブリを参照してしまいました。つまり、パブリック トークンは = null になります。C:\Program Files\Microsoft Enterprise Library 5.0\Bin のアセンブリを再参照したところ、問題は解決しました。

于 2010-05-18T08:10:51.723 に答える
4

私はあなたが答えを得たことをすでに見ました。ただし、VS から構成ツールを開くと、どのアセンブリを参照するかを構成ツールに指示するオプションがあることを指摘したいと思います。

  1. VS2010 の場合: プロパティ エディター ウィンドウを開き、ソリューション エクスプローラーからソリューション ファイルを選択します。
  2. 「エンタープライズ ライブラリ 5 アセンブリ セット」オプションが表示され、署名付きバージョン (Microsoft Signed) または署名なし (EntLibV5Src) を使用するオプションが表示されます。

設定ツールを起動すると; 選択に応じて、構成ファイル内のアセンブリを参照します。

于 2011-02-08T15:57:59.600 に答える
3

@Nicolas の回答に加えて、Enterprise Library 5.0 dll で使用されている app.config のパブリック トークンを削除することで、この問題を解決できます。

于 2011-05-19T11:44:00.453 に答える
2

エンタープライズ ライブラリには 2 つのダウンロードがあります...

  • エンタープライズ ライブラリ 5.0 - ソース コード.msi
  • エンタープライズ ライブラリ 5.0.msi

署名されたバイナリがあるのは 2 番目だけです。これは、「マニフェスト定義がアセンブリ参照と一致しません」というエラーを解決するために必要なものです。

(参考までに、インストールすることを選択した場合、2番目のものにはソースコードも含まれています)

于 2011-04-06T18:52:34.153 に答える
1

生む

<section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />                      
        <section name="exceptionHandling" type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration.ExceptionHandlingSettings, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />   
        <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />      
于 2011-05-25T21:07:06.233 に答える
1

おそらく、プロジェクトのプロパティでターゲット フレームワークを「.NET Framework 4 Client Profile」から「.NET Framework 4」に変更する必要があります。

初めてコンソール プロジェクトを作成すると、VS 2010 は既定で ."NET Framework 4 Client Profile" を作成します。「.NET Framework 4」でコンパイルされた EL 5 で、プロジェクトが EL dll を解決するのに苦労しています。

于 2010-05-17T13:50:20.650 に答える