%LOCALAPPDATA%在app.config中无法正常工作

3
<?xml version="1.0"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/>
  </startup>
  <system.diagnostics>
    <trace autoflush="true" indentsize="1">
      <listeners>
        <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="%LOCALAPPDATA%\DBLog\application.log">          
          <filter type="System.Diagnostics.EventTypeFilter" initializeData="Verbose"/>
        </add>
      </listeners>
    </trace>
  </system.diagnostics>
</configuration>

我该如何解决在我的app.config中%LOCALAPPDATA%无法正常工作的问题,我需要能够在xml文件中进行配置。如果可能的话,请不要在代码中进行配置。
3个回答

2

%LOCALAPPDATA%在app.config中无法使用

似乎不起作用。请参考此处此处相关问题。

我建议您采取以下措施:

  • 如果您想使用${VARIABLE}语法,请尝试使用log4net,在codeplex上有一个很好的教程。
  • 否则,您需要扩展环境变量并在代码中创建跟踪侦听器。

2
请尝试使用 ${LOCALAPPDATA}。

@4thex 是哪个 .NET 版本? - Kapoor
我的评论是关于在system.diagnostics中使用它。它不会解析initializeData属性中的环境变量。我使用的.NET Framework版本是4.5.2。 - 4thex

1
请尝试将您的代码修改为以下内容:
initializeData="${LOCALAPPDATA}\DBLog\application.log"

<system.diagnostics> <trace autoflush="true"> <listeners> <add name="textWriterTraceListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="${LOCALAPPDATA}\TCT Mapping\log4net.txt" /> </listeners> </trace> </system.diagnostics> - Ravi Khambhati

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接