浏览 Exchange EWS 或自动发现站点时出现无法加载文件或程序集错误

症状

浏览 https://servername/autodiscover/Autodiscover.xmlhttps://servername/ews/exchange.asmx时,可能会收到以下错误。

无法加载文件或程序集“Microsoft.Exchange.Diagnostics,Version=8.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。 系统找不到指定的文件。
说明:执行当前 Web 请求期间发生未经处理的异常。 请查看堆栈跟踪,详细了解错误及其起源于代码的位置。

异常详细信息:System.IO.FileNotFoundException:无法加载文件或程序集“Microsoft.Exchange.Diagnostics,Version=8.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。 系统找不到指定的文件。

源错误:

在执行当前 Web 请求期间生成了未经处理的异常。 可以使用下面的异常堆栈跟踪来标识有关异常的来源和位置的信息。

程序集加载跟踪:以下信息有助于确定无法加载程序集“Microsoft.Exchange.Diagnostics,Version=8.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”的原因。

WRN:程序集绑定日志记录已关闭。
若要启用程序集绑定失败日志记录,请设置注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) 为 1。
注意:程序集绑定失败日志记录会导致一些性能损失。
若要关闭此功能,请删除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。

堆栈跟踪:

[FileNotFoundException:无法加载文件或程序集“Microsoft.Exchange.Diagnostics,Version=8.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。 系统找不到指定的文件。]
Microsoft.Exchange.Services.AuthorizationModule.Init (httpApplication 上下文) +0
System.Web.HttpApplication.InitModulesCommon () +135
System.Web.HttpApplication.InitInternal (HttpContext 上下文、HttpApplicationState 状态、MethodInfo[] 处理程序) +2601588
System.Web.HttpApplicationFactory.GetNormalApplicationInstance (HttpContext 上下文) +347
System.Web.HttpApplicationFactory.GetApplicationInstance (HttpContext 上下文) +139
System.Web.HttpRuntime.ProcessRequestInternal (HttpWorkerRequest wr) +196


版本信息:Microsoft .NET Framework 版本:2.0.50727.1434;ASP.NET 版本:2.0.50727.1434

原因

由于应用程序 web.config 文件中的条目不正确,它无法加载程序集 Microsoft.Exchange.Diagnostics

解决方案

  • 如果出现问题,则为 https://servername/autodiscover/autodiscover.xml

    C:\Program Files\Microsoft\Exchange Server\ClientAccess\Autodiscover 中备份 web.config。

    • 在记事本中从 C:\Program Files\Microsoft\Exchange Server\ClientAccess\Autodiscover 打开 web.config。
    • 将所有 file:///%ExchangeInstallDir% 替换为 file:///C:\Program Files\Microsoft\Exchange Server\ 其中 Cis 安装了 Exchange 的驱动器。
    • 保存文件。
    • 打开管理员命令提示符并运行 IISreset /noforce
    • 测试浏览 https://servername/autodiscover/autodiscover.xml
  • 如果出现问题,则为 https://servername/ews/exchange.asmx

    C:\Program Files\Microsoft\Exchange Server\ClientAccess\exchweb\ews 中备份 web.config。

    • 在记事本中从 C:\Program Files\Microsoft\Exchange Server\ClientAccess\exchweb\ews 打开 web.config
    • 将所有 file:///%ExchangeInstallDir% 替换为 file:///C:\Program Files\Microsoft\Exchange Server\ 其中 Cis 安装了 Exchange 的驱动器。
    • 保存文件。
    • 打开管理员命令提示符并运行 IISreset /noforce
    • 测试浏览 https://servername/ews/exchange.asmx