2012-04-09 17 views
0

Ist es möglich, Variablen in der Datei app.config zu definieren?Variablen in app.config definieren

Vielleicht so:

<xsl:variable name="folder"> 
    C:\Data\Log\ 
</xsl:variable> 

... und es in der app.config auf diese Weise verwenden:

<file value="$folder\ErrorLog.txt" /> 

Ich habe einige verschiedene Ordner in meinem app.config und gewann‘ t jeden Pfad einzeln ändern.

+0

Aber ich möchte die Variable in der app.config selbst verwenden. Nicht im C# -Code. –

Antwort

1

Sie können mit der rechten Maustaste auf das Projekt in Visual Studio klicken und Eigenschaften auswählen. Gehen Sie dann zu Einstellungen, um dort Einstellungen verschiedener Datentypen (z. B. Zeichenfolge) hinzuzufügen.

Auch, wenn Sie sich für eine log4net spezifische Lösung suchen, diese Frage/Antwort kann helfen: stackoverflow.com/questions/1535736

+0

Ich denke, das ist nicht was ich will. Ich habe eine log4net-Konfiguration in meiner app.config, es hat rund 300 Zeilen und etwa 20 Pfade mit unterschiedlichen Endungen (Dateien). Ich möchte den Pfad (C: \ Data \ Log \) an einer zentralen Stelle in der Datei app.config definieren. Ich werde es nicht jedes Mal einzeln ersetzen oder jedes Mal, wenn ich es ändern muss, "finden und ersetzen". –

+1

Ich bekomme es jetzt :-). Ich glaube nicht, dass es einen Weg gibt, dies allein in der Konfigurationsdatei zu tun. Ich musste so etwas vorher tun, aber ich würde eine Ordnereinstellung und dann verschiedene Einstellungen von Datei1, Datei2 usw. definieren. Dann würde ich in meinem C# -Code die Einstellungen lesen und die tatsächlichen Dateispeicherorte erstellen, indem ich Folder + File1, Folder + File2 usw. anfüge. Ich bin mir nicht sicher, ob das für Ihre log4net-Situation funktionieren wird, aber sonst können Sie das definieren Ordner einmal und für alle anderen Dateien wiederverwenden. –

+1

Wenn Sie nach einer log4net-spezifischen Lösung suchen, kann diese Frage/Antwort helfen: http://StackOverflow.com/Questions/1535736 –

0

Sie LogBaseDir als Umgebungsvariable definieren und verbrauchen es in der App .config:

<appender name="RollingFileError" type="log4net.Appender.RollingFileAppender"> 
    <file value="${LogBaseDir}\ErrorLog.txt" /> 
    <!-- ... --> 
</appender> 
Verwandte Themen