Beim Ausführen meiner VS2008
Einheit
Integrationstests gegen meine DAL, habe ich festgestellt, dass die Baugruppe machine.config
anstelle der app.config
der Baugruppe liest.Assembly's App.Config wird ignoriert; Machine.config wird stattdessen gelesen
Hier ist der Überblick über den Call-Stack:
- Unit-Test-Projekt hat Methode in eine erbt von einer Basisklasse
MyDataLayer
Klasse Datalayer Projekt aufrufen. Die Methode heißtGetStuff()
- Basisklasse verwendet
System.Configuration
. Alles gut. - Aufruf dieser Eigenschaft in Code:
ConfigurationManager.ConnectionStrings["MyConnStr"]
gibt tatsächlich null zurück, weil es anscheinend nicht gefunden wird. - Überprüfung der
MyDataLayer
Klasse, ja, MyConnStr ist da. - Überprüfung der Sammlung
ConnectionStrings
, ja, es hat eine Verbindungszeichenfolge. Es ist das einzige in machine.config, die inC:\Windows\Microsoft.NET\Framework\v2.0.50727\Config\machine.config
vorbei ist - Ich bin nicht sicher, warum
app.config
meine DAL die durch diemachine.config
Jede Hilfe sehr geschätzt wird abgelöst!
Ray, du bist ein Monster! Ich musste lediglich System.Configuration referenzieren und die App.Config aus dem DataLayer-Projekt in mein UnitTest-Projekt kopieren und freigeben, und es funktionierte. Bravo! –