2012-04-09 64 views
0

是否可以在app.config文件中定義變量?在app.config文件中定義變量

也許這樣的:

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

...並以這種方式使用它在App.config:

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

我有我的app.config裏面的一些不同的文件夾,並榮獲」不要一個一個地改變每一條路徑。

+0

但我想使用app.config本身內的變量。 不在c#代碼中。 – 2012-04-09 14:10:44

回答

1

您可以右鍵單擊Visual Studio中的項目,然後選擇屬性。然後轉到設置,在其中添加不同數據類型(例如字符串)的設置。

另外,如果你正在尋找一個特定的log4net的解決方案,這個問題/答案可以幫助:stackoverflow.com/questions/1535736

+0

我認爲這不是我想要的。 我在我的app.config中有一個log4net配置,它有大約300行和大約20次不同結局(文件)。 我的願望是在app.config文件中的中心位置定義路徑(C:\ Data \ Log \)。我不會一個接一個地替換它,或者每次我必須改變它時,都要「查找並替換」。 – 2012-04-09 14:47:36

+1

我明白了:-)。我認爲沒有辦法在配置文件中單獨執行此操作。我以前需要做這樣的事情,但是我會定義一個文件夾設置,然後定義各種File1,File2等設置。然後在我的C#代碼中,我將讀取設置並通過追加文件夾+文件1,文件夾+文件2等來構建實際文件位置。我不確定這是否適用於您的log4net情況,但否則將允許您定義文件夾一次,然後重複使用所有其他文件。 – 2012-04-09 14:54:47

+1

此外,如果您正在尋找一個特定於log4net的解決方案,這個問題/答案可能會有所幫助:http://stackoverflow.com/questions/1535736 – 2012-04-09 15:01:49

0

您可以定義LogBaseDir作爲一個環境變量,在應用程序使用它.config:

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