2

简短版:我添加了

 <system.web>
   <system.diagnostics>
      <trace>
         <listeners>
            <add name="WebPageTraceListener" type="System.Web.WebPageTraceListener, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
         </listeners>
      </trace>
   </system.diagnostics>

到我网站的web.config文件,但 Visual Studio 抱怨:

无法识别的配置部分 system.web/system.diagnostics。

我如何让 Visual Studio (2010 (Professional (Windows 7 (64-bit)))) 不抱怨?


背景

Microsoft 解释说,在 ASP.net 中,您使用该TraceContext.Warn方法将跟踪信息添加到跟踪输出,例如:

Page.Trace.Warn("Starting up - da shield");

然后在启用跟踪时启用跟踪

<configuration>
  <system.web>
    <trace enabled="true" requestLimit="40" localOnly="false" />
  </system.web>
</configuration>

或者当您启用跟踪时:

<%@ Page ... Trace="true" ... %>

然后在页面底部启用跟踪:

在此处输入图像描述


但是 System.Diagnostics 跟踪呢?

这对 ASP.net 代码很好,但业务对象System.Web.UI.TraceContext用于跟踪,它们使用System.Diagnostics.Trace

System.Diagnostics.Trace.TraceWarning("No giving up General Jar Jar. Yousa tink of someting");

Microsoft 解释说,您可以Diagnostics使用以下方式通过跟踪路由跟踪Web

演练:将 ASP.NET 跟踪与 System.Diagnostics 跟踪集成

将所有跟踪输出路由到 Web 表单

要将 Trace 消息路由到 ASP.NET 网页,您必须添加一个 WebPageTraceListener 对象。

将以下代码放在您的 Web.config 文件中的<system.web>部分之后。

<system.diagnostics>
  <trace>
    <listeners>
       <add name="WebPageTraceListener" 
            type="System.Web.WebPageTraceListener, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    </listeners>
  </trace>
</system.diagnostics>

除了 Visual Studio 抱怨:

无法识别的配置部分 system.web/system.diagnostics。

比失败更糟糕?

4

1 回答 1

3

<system.diagnostics>应该是<configuration>not的孩子<system.web>,所以类似于:

<configuration>
...
 <system.diagnostics>
  <trace>
    <listeners>
       <add name="WebPageTraceListener" 
            type="System.Web.WebPageTraceListener, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    </listeners>
  </trace>
</system.diagnostics>
</configuration>

希望我正确理解了这个问题,这会有所帮助。

于 2012-07-11T14:10:50.513 回答