Ich habe eine VB6-Anwendung, die eine .NET-Assembly aufruft, die Einstellungen aus der app.config-Datei referenziert. Standardmäßig sucht .NET nach einer Konfigurationsdatei, die nach der VB6-App benannt ist. Wie kann ich es umleiten, um einen anderen Konfigurationsdateinamen zu verwenden? Dies muss die Standardkonfigurationsdatei werden, sodass z. WCF-Einstellungen werden daraus gelesen.Den Namen der .NET-Anwendungskonfigurationsdatei ändern
Antwort
Sie können es nicht ändern. Jede AppDomain-Instanz hat eine feste app.config, die über eine AppDomainSetup Instanz festgelegt wird, wenn eine neue App-Domäne erstellt wird. Obwohl Sie die Setup-Informationen über AppDomain.SetupInformation erhalten können, wurde es an dieser Stelle effektiv schreibgeschützt.
Vor diesem Hintergrund besteht eine Möglichkeit darin, eine neue Anwendungsdomäne innerhalb Ihrer Hauptfunktion zu erstellen und die Domäne so zu konfigurieren, dass sie die benötigte app.config verwendet.
Danke, das habe ich am Ende gemacht. Die Hauptanwendung (.NET) legt die Umgebungsvariablen APPDOMAIN_MANAGER_TYPE und APPDOMAIN_MANAGER_ASM so fest, dass ein benutzerdefinierter AppDomainManager verwendet wird. Dadurch wird InitializeNewDomain überschrieben, sodass die AppDomainSetup.ConfigurationFile-Eigenschaft auf die freigegebene Datei .exe.config verweist. Einfach wenn du weißt wie! –
können Sie die Anwendung zwingen, eine bestimmte Konfigurationsdatei zu lesen, mit
System.Configuration.ConfigurationManager.OpenExeConfiguration(PATH_TO_CONFIG);
Danke. Ich brauche dies, um die "Standard" app.config-Datei zu werden, so dass z.B. WCF-Einstellungen werden daraus gelesen. Ich werde die Frage aktualisieren, um genauer zu sein. –
Betrachten Sie Ihre Konfiguration in einem XML-serialisierten Objekt setzen.
AppDomain.CurrentDomain.SetData ("APP_CONFIG_FILE", @configFile);
mehr dazu hier: http://weblogs.asp.net/israelio/archive/2005/01/10/349825.aspx – russau
- 1. Twitter API, den Namen ändern?
- 2. Kann ich den Namen von `nohup.out` ändern?
- 3. Ändern Sie den Namen des Anwendungsordners yeoman
- 4. Ändern Sie den Namen des Stammordners
- 5. Ändern Sie den Namen der Upload-Datei in cURL?
- 6. Android Studio Ändern Sie den Namen der Anwendung
- 7. Fine Uploader: Ändern Sie den Namen der Datei
- 8. Kann ich den Namen der Hauptaktivität ändern oder nicht?
- 9. Ändern Sie den Namen der Azure Resource Group
- 10. Ändern Sie den Namen des XML-Knotens
- 11. Wie ändert man den Namen der tabcontrol
- 12. WordPress: Ändern Sie den Namen in meiner Schaltfläche von "LOGOUT" auf den Namen des Benutzers?
- 13. Können wir den Namen oder den Namen eines Pakets in Android Studio 1.5 ändern?
- 14. ändern Namen Laravel der created_at und updated_at
- 15. So ändern Sie den Namen des Projekts in Android Studio
- 16. Ich muss den Namen eines Textdokuments durch ein cicle ändern
- 17. Wie ändern Sie den Namen einer .ttf-Schriftart
- 18. Kann ich den Standort/Namen von PyCharmProjects ändern?
- 19. Kann ich den Namen des Sharepoint-Workflows ändern?
- 20. Wie kann ich den Namen eines Windows-Dienstes ändern?
- 21. Ändern Sie den Namen des Routenpfads mit einer Variablen
- 22. Ändern Sie den Namen des Verkäufers in Appstore
- 23. Ändern Sie den Namen des Prozesses im Task-Manager
- 24. Python Spyne ändern Sie den Namen _return Werte
- 25. So ändern Sie den Namen des Verkäufers in Appstore
- 26. Wie kann ich den Namen des Primärschlüssels in Doctrine ändern
- 27. Ändern Sie den Namen des bereitgestellten Artefakts basierend auf Profil
- 28. Gewusst wie: Dynamische var den Namen ändern auf AS3
- 29. Ändern Sie den Namen des Dateinamens vor dem Hochladen DropZone
- 30. So ändern Sie den Namen des Publishers in Google Play
Da es bereits ein System gibt, das die "Standard" -Konfigurationsdatei definiert, was versuchen Sie zu tun, müssen Sie es ändern? –
Ich möchte nicht, dass es nach der VB6-App benannt wird. Ich habe mehrere davon und möchte vermeiden, eine Kopie der Konfigurationsdatei für jeden zu haben, da die Einstellungen nicht wirklich für jede App spezifisch sind, sondern für die .NET Assembly. –
In diesem Fall müssen Sie App.config wahrscheinlich nicht verwenden, um Ihr Problem zu lösen, da es sich um Anwendungseinstellungen handelt. Wenn die Einstellungen für die Assembly unabhängig von der Anwendung identisch sein sollen, sind das nicht nur fest codierte Werte? –