Ich muss den Pfad zu Dlls angeben, die von Assembly in .config-Datei referenziert werden. Problem ist, dass Pfad in env gefunden werden kann. Variable. Ist es möglich, eine Art% DLLPATH% -Makro in .config-Datei zu verwenden?Verwenden von Umgebungsvariablen für die .config-Datei in .NET
Antwort
Ist dies ein Konfigurationseintrag, Sie sind lesen, oder ist .NET lesen es? Wenn Sie es selbst lesen, können Sie die entsprechende Ersetzung selbst vornehmen (unter Verwendung von Environment.ExpandEnvironmentVariables, um das Los zu tun oder Environment.GetEnvironmentVariable, wenn Sie selektiver sein wollen).
Wenn es eins ist, das .NET lesen wird, weiß ich keine Möglichkeit, es Umgebungsvariablen zu erweitern. Ist die Konfigurationsdatei unter Ihrer Kontrolle? Könntest du es einfach umschreiben?
In der Tat, auch wenn Sie die Substitution tun können, ist das wirklich, was Sie tun möchten? Wenn Sie den vollständigen Pfad zu einer DLL angeben müssen, vermute ich, Sie müssen es finden über die DLLPATH (Überprüfung auf seine Anwesenheit in jedem Teil des Pfades) und dann ersetzen% DLLPATH% \ Foo.dll mit der vollständiger Pfad zu Foo.dll.
Ja, das ist möglich! Angenommen, Sie haben so etwas in Ihrer config:
<configuration>
<appSettings>
<add key="mypath" value="%DLLPATH%\foo\bar"/>
</appSettings>
</configuration>
Dann können Sie leicht den Weg bekommen:
var pathFromConfig = ConfigurationManager.AppSettings["mypath"];
var expandedPath = Environment.ExpandEnvironmentVariables(pathFromConfig);
ExpandEnvironmentVariables(string s)
macht die Magie von allen Umgebungsvariablen innerhalb eines Strings mit den aktuellen Werten zu ersetzen.
- 1. Docker-Umgebungsvariablen für Anmeldeinformationen verwenden
- 2. Umgebungsvariablen in CMD verwenden
- 3. Umgebungsvariablen in CircleCI verwenden
- 4. Verwenden von Umgebungsvariablen für Gradle-Builds in Android Studio
- 5. Verwenden von Umgebungsvariablen in einem TFS2015-Build
- 6. Verwenden von Umgebungsvariablen in Rake Aufgabe
- 7. Verwenden von Umgebungsvariablen für den geheimen Schlüssel reCAPTCHA von Google
- 8. Verwenden von Umgebungsvariablen in Monodevelop mit MonoTouch
- 9. Magento - Verwenden benutzerdefinierter Umgebungsvariablen für sensible Datenbankinformationen
- 10. ASP .NET Kern las Umgebungsvariablen
- 11. Verwenden einer Umgebungsvariablen für lokale Sequelize-Konfiguration
- 12. Reagieren: Umgebungsvariablen verwenden
- 13. Verwenden von Host-Umgebungsvariablen mit Dockerfile
- 14. Verwenden von SSIS-Umgebungsvariablen mit VB-Programm
- 15. Drucken Sie die Umgebungsvariablen mithilfe der Umgebungsvariablen
- 16. Verwenden von 2 Host-Namen für die gleiche .NET-Anwendung
- 17. Erweitern der Umgebungsvariablen für die Eingabeaufforderung
- 18. Linux - Sichern von Umgebungsvariablen
- 19. Aktualisieren von Umgebungsvariablen in bash
- 20. Travis CI - Verwenden von Repository-Umgebungsvariablen in .travis.yml
- 21. csh-Idiome für die Existenz von Umgebungsvariablen prüfen?
- 22. Verwenden von verknüpften Container-Umgebungsvariablen in der Anwendungsumgebung?
- 23. Verwenden von Umgebungsvariablen in Npm Skripts über Plattformen
- 24. Umgebungsvariablen für Kubernetes/Mesos
- 25. Qt Creator Umgebungsvariablen für Projekteinstellungen
- 26. ResolvePath für VB6 - Auflösung von Umgebungsvariablen
- 27. Umgebungsvariablen für Docker-komponieren innerhalb von Jenkins
- 28. Festlegen von Umgebungsvariablen für startDetached() QProcess
- 29. Verwenden von OWdotNET.dll in Python (Python für .NET)
- 30. Kann ich einen Umgebungsvariablen-basierten Speicherort für Spring FileSystemResource verwenden?
Danke Jon. Ich bin mir nicht sicher, ob ich mich genau an das Problem erinnere, aber soweit ich mich erinnere, wollte ich im .config Dateipfad angeben, wo .NET Binder nach einer referenzierten Assembly suchen soll. Wenn ich recht habe, ist es möglich, den relativen Pfad innerhalb der Unterverzeichnisse nur vom aktuellen Verzeichnis und nicht von den absoluten absoluten Pfaden anzugeben. – Jox