首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CLR找不到类型,即使它位于同一程序集中

CLR找不到类型,即使它位于同一程序集中
EN

Stack Overflow用户
提问于 2011-12-03 04:10:49
回答 1查看 2K关注 0票数 0

我正在解决我们的应用程序中的WCF问题,并在VS2010中使用WCF服务配置编辑器打开了WCF跟踪,它向web.config添加了以下sharedListener:

代码语言:javascript
复制
    <sharedListeners>
      <add initializeData="D:\Logs\CRCCustomerService\Web_tracelog.svclog"
        type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
        name="ServiceModelTraceListener" traceOutputOptions="Timestamp">
        <filter type="" />
      </add>
    </sharedListeners>

现在,当我采取措施重现错误时,System.Diagostics库抛出了一个异常,说明它找不到XmlWriterTraceListener:

代码语言:javascript
复制
Stack Trace: 
System.TypeInitializationException: The type initializer for       'System.ServiceModel.DiagnosticUtility' threw an exception. --->   System.Configuration.ConfigurationErrorsException: Couldn't find type for class System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089. 
at System.Diagnostics.TraceUtils.GetRuntimeObject(String className, Type baseType,    String initializeData) 
at System.Diagnostics.TypedElement.BaseGetRuntimeObject() 
at System.Diagnostics.ListenerElement.GetRuntimeObject() 
at System.Diagnostics.ListenerElement.GetRuntimeObject() 
at System.Diagnostics.ListenerElementsCollection.GetRuntimeObject() 
at System.Diagnostics.TraceSource.Initialize() 
at System.Diagnostics.TraceSource.get_Listeners() 

它又继续了几行,但这建立了上下文。

我的问题是,根据ObjectBrowser和Reflector的说法,XmlWriterTraceListener和System.Diagnostics是同一个程序集的成员类,它怎么会找不到它呢?

其次,由于异常堆栈中的每一行都来自系统代码,我究竟如何开始调试这里的根本原因?

EN

回答 1

Stack Overflow用户

发布于 2012-02-11 10:03:35

您使用的是.NET 4.0吗?

如果不是,则必须注意服务配置实用程序。它将监听器的版本硬编码为4.0,您需要手动更改您的web.config

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8362026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档