2009-06-01 5 views
0

Microsoftエンタープライズライブラリのデータアクセスアプリケーションブロック4.1を使用しようとすると、展開時に奇妙な問題が発生します。DAAB 4.1を使用してデプロイされたプロジェクトで実行時エラーが発生する

Exception information: 
Exception type: BuildFailedException 
Exception message: The current build operation (build key Build Key[Microsoft.Practices.EnterpriseLibrary.Data.Database, DBNAME]) failed: The type initializer for 'Microsoft.Practices.EnterpriseLibrary.Data.Database' threw an exception. (Strategy type ConfiguredObjectStrategy, index 2) 

私のweb.configファイルにはのconnectionStringsは、次のセクションがあります:

<connectionStrings configSource="data.config" /> 

とデータDAABを利用したWebアプリケーションの要素を使用しようとしたとき、私は、次の未処理の例外を取得します。設定は例外で参照DBNAMEのエントリが含まれています

<?xml version="1.0"?> 

<connectionStrings>` 

<add name="dbname" 
    providerName="System.Data.SqlClient" 
    connectionString="[valid information here]" /> 

</connectionStrings> 

私はDを使用していないアプリの一部ため、接続文字列が有効である知っていますデータアクセス用のAABは、問題なく同じ接続文字列を使用しています。さらに、私の開発マシンと他の開発者のマシンでは問題なく動作しています。これは実稼働サーバーへのデプロイ時にのみ発生し、ローカルマシンでも正常に動作するため、リリースビルドに固有のものではありません。

プロダクションサーバーの設定に問題があると思われますが、何が原因か分かりません。 Enterprise Libraryの展開に関するMSDNの記事では、アセンブリのxcopy展開が機能するはずだと言及しています。これらを/ binフォルダに含めるので、そこからどこに行くのかはわかりません。何か案は?

答えて

0

最後にこれを考え出しました。 Enterprise Library 4.1にはFramework 3.5が必要ですが、アプリケーション用にFramework 2.0をまだ対象としていますが、Visual Studio 2008を使用して開発用マシンに3.5がインストールされています。そうした後に問題が消えた。

困ったことは、エンタープライズライブラリに依存するものも含めて、私のソリューションのすべてのプロジェクトでコンパイルするために2.0を明示的に指定していることです。3.5を必要とするアセンブリを参照するには、コンパイル。しかたがない。

1

参照を追加すると、警告が表示されます。それは少なくとも私のマシンでどのように動作したかです。だから、あなたはあなたの苦情の確固たる根拠を持っていません。 :)

しかし、例外メッセージは完全にあいまいです。情報に感謝します。

関連する問題