私のVS2008
ユニット
のDALとの統合テストを実行しているとき、アセンブリのの代わりにmachine.config
が読み取られています。アセンブリのApp.Configが無視されています。
はここでコールスタック上の荒廃です:
- ユニットテストプロジェクトはDataLayerプロジェクト
MyDataLayer
クラスにメソッド呼び出しは、基本クラスから継承しています。メソッドはGetStuff()
- と呼ばれ、基底クラスは
System.Configuration
を使用しています。すべての良い。 - コードでこのプロパティを呼び出します。
ConfigurationManager.ConnectionStrings["MyConnStr"]
は、明らかに見つからないため実際にはnullを返します。 MyDataLayer
クラスをチェックすると、うまくいけば、MyConnStrがあります。- コレクションを確認する
ConnectionStrings
、はい、1つの接続文字列があります。それは私のDALのapp.config
は、すべてのヘルプは高く評価されmachine.config
に取って代わられている理由は、私はわからないC:\Windows\Microsoft.NET\Framework\v2.0.50727\Config\machine.config
レイ、あなたはモンスターです!私がしなければならなかったことは、System.Configurationのリファレンスと、DataLayerプロジェクトのApp.ConfigをUnitTestプロジェクトにコピー/共有することだけでした。ブラボー! –