We updated our exchange 2010 server (running on Windows 2008 R2) to SP3 by downloading and running the Service Pack provided by Microsoft. After doing that we are unable to connect to any of the websites (OWA, ActiveSync, and so on).
We get yellow .net error screens that say
"Could not load file or assembly 'Microsoft.Exchange.Security, Version=14.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified."
The assembly name is different for each website. Having a look at the Bin folder for the websites and the GAC folder I noticed that the version number is 14.03.0123.03
, not 14.0.0.0
.
I think the dll's were updated as part of SP3. I have tried removing and re-adding the OWA website but the same problem happens.
Did I miss a step in the install? How can I fix the websites?
UPDATE
Sorry, I forgot to mention I don't have Outlook available to test at the moment - we normally use either OWA or ActiveSync on Mobiles.
Also I have tried testexchangeconectvity.com and have confirmed that I am receiving mail, I just can't access it at the moment.
Update 2:
I've tried installing the Client Access role on the Mailbox server and this works (although it is not ideal). I've tried uninstalling and re-installing on the original Client Access Server but still get the same error. I've also tried removing and creating new-OWAVirtualDirectory
Update 3: Error details:
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
I believe you have a web.config problem. Check to see if you have web.config.nul or web.config.bak files in that folder. Save the current config and try to revert to one of the others.
If that does not work, looks at what the current authentication settings are for OWA in IIS and make sure they match the correct config.
edit: Also get the full log for the page please. Enable detailed errors.
Go to iis --> the website OWA folder is on --> error pages --> edit feature settings --> detailed errors for local request and custom....