我们通过下载并运行 Microsoft 提供的 Service Pack 将 Exchange 2010 服务器(在 Windows 2008 R2 上运行)更新到 SP3。执行此操作后,我们无法连接到任何网站(OWA、ActiveSync 等)。
我们收到黄色的 .net 错误屏幕,上面写着
“无法加载文件或程序集‘Microsoft.Exchange.Security,Version=14.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35’或其依赖项之一。系统找不到指定的文件。”
每个网站的程序集名称都不同。查看网站的 Bin 文件夹和 GAC 文件夹后,我注意到版本号是14.03.0123.03
,而不是14.0.0.0
。
我认为 dll 已作为 SP3 的一部分进行了更新。我尝试删除并重新添加 OWA 网站,但问题依然存在。
我在安装过程中是否漏掉了某个步骤?我该如何修复网站?
更新
抱歉,我忘了说我目前没有 Outlook 可供测试 - 我们通常在手机上使用 OWA 或 ActiveSync。
我也尝试过 testexchangeconectvity.com 并确认我正在收到邮件,但我现在无法访问它。
更新 2:
我尝试在邮箱服务器上安装客户端访问角色,并且成功了(尽管效果并不理想)。我尝试卸载并在原始客户端访问服务器上重新安装,但仍然出现相同的错误。我还尝试删除并创建新的 OWAVirtualDirectory
更新3:错误详细信息:
Server Error in '/owa' Application.
--------------------------------------------------------------------------------
Could not load file or assembly 'Microsoft.Exchange.Net, Version=14.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Exchange.Net, Version=14.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Assembly Load Trace: The following information can be helpful to determine why the assembly 'Microsoft.Exchange.Net, Version=14.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' could not be loaded.
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
Stack Trace:
[FileNotFoundException: Could not load file or assembly 'Microsoft.Exchange.Net, Version=14.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.]
System.RuntimeTypeHandle._GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, Boolean loadTypeFromPartialName) +0
System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark) +62
System.RuntimeType.PrivateGetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark) +42
System.Type.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +77
System.Web.Compilation.BuildManager.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +105
System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase) +64
[ConfigurationErrorsException: Could not load file or assembly 'Microsoft.Exchange.Net, Version=14.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.]
System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase) +11189037
System.Web.Configuration.Common.ModulesEntry..ctor(String name, String typeName, String propertyName, ConfigurationElement configElement) +78
System.Web.HttpApplication.BuildIntegratedModuleCollection(List`1 moduleList) +194
System.Web.HttpApplication.GetModuleCollection(IntPtr appContext) +1891
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +166
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +336
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +350
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +382
[HttpException (0x80004005): Could not load file or assembly 'Microsoft.Exchange.Net, Version=14.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11318198
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +88
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +4348404
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.5420; ASP.NET Version:2.0.50727.5420
答案1
我认为您的 web.config 存在问题。检查该文件夹中是否有 web.config.nul 或 web.config.bak 文件。保存当前配置并尝试恢复为其他配置之一。
如果这不起作用,请查看 IIS 中 OWA 的当前身份验证设置,并确保它们与正确的配置匹配。
编辑:还请获取页面的完整日志。启用详细错误。
转到 iis --> 网站 OWA 文件夹位于 --> 错误页面 --> 编辑功能设置 --> 本地请求和自定义的详细错误....