Ich habe mich umgesehen, aber ich habe keine Lösung für dieses Problem gefunden: Ich möchte eine Klassenbibliothek erstellen, die eine Konfigurationsdatei in einem Unterverzeichnis namens Configuration enthält. Ich möchte, dass diese Klassenbibliothek überall eingesetzt werden kann und dass sie ihre Konfigurationsdateien findet, indem sie ihren eigenen Speicherort kennt.
Frühere Versuche mit Assembly.GetExecutingAssembly().Location
hat nicht funktioniert.
Es würde temporäre Orte wie die folgenden zurückgeben
C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\7c00e0a3\38789d63\assembly\dl3\9c0a23ff\18fb5feb_6ac3c901
statt der gewünschten
bin/Configuration
Pfad.
Also:
- Kann eine Klassenbibliothek ihren eigenen Speicherort auf der Festplatte kennen?
- Wie würde ich gehen über witting Testskripte für diese Funktionalität, da es scheint, dass Verzeichnisse ändern, basierend auf wie Sie die app (Debuggen innerhalb VS, Bereitstellung auf IIS, etc.) ausführen
0 Stimmen
Warum nicht die Konfiguration in die app.config-Datei der Anwendung aufnehmen und ConfigurationManager in Ihren Klassenbibliotheken verwenden?
0 Stimmen
Vielleicht möchten Sie Ihre Frage (zur besseren Auffindbarkeit später) dahingehend präzisieren, dass es sich um ASP.NET handelt. Für Desktop-Anwendungen funktioniert GetExecutingAssembly() einwandfrei.
1 Stimmen
@Justin: Ich möchte, dass die Klassenbibliothek unabhängig von der aufrufenden Anwendung ist. @Stu: Beides. Ich möchte eine Klassenbibliothek erstellen, die sowohl für Console Apps als auch für Web Apps verwendet werden kann. Die Klassenbibliothek sollte sich nicht darum kümmern, wer sie aufruft.