Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在app.config中定义变量_C#_Xml_App Config - Fatal编程技术网

C# 在app.config中定义变量

C# 在app.config中定义变量,c#,xml,app-config,C#,Xml,App Config,是否可以在app.config文件中定义变量 也许是这样: <xsl:variable name="folder"> C:\Data\Log\ </xsl:variable> C:\Data\Log\ 。。。并以以下方式在app.config中使用它: <file value="$folder\ErrorLog.txt" /> 我的app.config中有一些不同的文件夹,不会逐个更改每个路径。您可以在Visual Studio中右键单击该项目

是否可以在app.config文件中定义变量

也许是这样:

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

C:\Data\Log\
。。。并以以下方式在app.config中使用它:

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


我的app.config中有一些不同的文件夹,不会逐个更改每个路径。

您可以在Visual Studio中右键单击该项目,然后选择“属性”。然后转到“设置”,在此处添加不同数据类型(如字符串)的设置


此外,如果您正在寻找特定于log4net的解决方案,此问题/答案可能会有所帮助:stackoverflow.com/questions/1535736

您可以将
LogBaseDir
定义为环境变量,并在app.config中使用它:

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


但我想使用app.config本身内部的变量。不在c代码中。我想那不是我想要的。我在app.config中有一个log4net配置,它有大约300行和大约20个不同结尾(文件)的路径。我希望在app.config文件的中心位置定义路径(C:\Data\Log)。我不会每次必须更改它时都逐个替换它或使用“查找并替换”来替换它。我现在就知道了:-)。我不认为只有在配置文件中才能做到这一点。我以前需要做类似的事情,但是,我会定义一个文件夹设置,然后是各种File1、File2等设置。然后在我的C#代码中,我将读取设置并通过附加Folder+File1、Folder+File2等来构建实际的文件位置。我不确定这是否适用于log4net情况,但如果不这样做,将允许您定义一次文件夹,并将其重新用于所有其他文件。此外,如果您正在寻找特定于log4net的解决方案,此问题/答案可能有帮助:不,这对我不起作用,因为我不会使用代码进行配置。:/所有内容都应该在app.config中定义。但第二个链接可能会有所帮助。我以后再看。谢谢你!