如何解决Windows Azure诊断运行时错误(无法创建WindowsAzure.Diagnostics,版本= xx,Culture = neutral,PublicKeyToken = xx

时间:2014-01-02 14:42:02

标签: visual-studio-2013 .net-assembly c#-5.0

privateLibManager libManager;
private LibManager Connect()
{
   this.libManager=new LibManager();//here we are getting an error
}

错误:

'SWConfigDataClientLib.LibManager'的类型初始值设定项引发异常

内部例外:

无法创建Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener,Microsoft.WindowsAzure.Diagnostics,Version = 2.2.0.0,Culture = neutral,     公钥= 31bf3856ad364e35。

来源

IpPbxCDSClientLib

4 个答案:

答案 0 :(得分:15)

首先确保从SDK文件夹中添加了对Microsoft.WindowsAzure.Diagnostics的引用(通常是c:\ Program Files \ Microsoft SDKs \ Windows Azure.NET SDK \ v2.2 \ ref \ Microsoft.WindowsAzure.Diagnostics.dll )

接下来,如果您未在模拟器中运行项目(即将云项目设置为启动项目),则将跟踪过滤器级别设置为TraceEventType.ErrorTraceEventType.None以避免尝试写入详细描述跟踪侦听器的Azure消息。在您的网络或应用程序配置中:

  <system.diagnostics>
    <trace>
      <listeners>
        <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics">
          <filter level="TraceEventType.Error" />
        </add>
      </listeners>
    </trace>
  </system.diagnostics>

答案 1 :(得分:3)

我遇到了同样的错误。

我错过了对Microsoft.WindowsAzure.Diagnostics

的引用

答案 2 :(得分:2)

好吧所以即使我连续抛出这个例外。但是,我的情况有点不同。

我想摆脱这个引用,因为项目中不再需要它。所以我从参考文献中删除了它。但是在运行应用程序时,我开始在Debug.WriteLine(...);语句中获取此异常,该语句表明需要引用。

进一步分析后,我发现下面的部分出现在项目的app.config文件中,这是导致例外的原因。

<trace>
      <listeners>
        <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=2.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics">
          <filter type="" />
        </add>
      </listeners>
    </trace>

删除引用并删除配置文件中的上一部分后,问题得到修复。

希望这有帮助!

答案 3 :(得分:1)

确保已将此引用添加到项目中 的 Microsoft.Azure.Plugins.Diagnostics.dll