views:

69

answers:

2

I'm trying to troubleshoot a .NET 2.0 error with Outlook Web Access on a SBS 2008 Server.

The error I'm getting is:

Exception information: 
Exception type: HttpException 
Exception message: Could not load file or assembly 'Microsoft.Exchange.Data,     
Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its 
dependencies. The system cannot find the file specified. 
(C:\Program Files\Microsoft\Exchange Server\ClientAccess\owa\web.config line 51) 

On line 51 of web.config, I have:

                this is line 51 ---><add assembly="Microsoft.Exchange.Data,
                Version=8.0.0.0,
                Culture=neutral,
                publicKeyToken=31bf3856ad364e35"/>
            <add assembly="Microsoft.Exchange.Data.Storage,
                Version=8.0.0.0,
                Culture=neutral,
                publicKeyToken=31bf3856ad364e35"/>
        </assemblies>

So in "web.config-ese", how does it "know" where that Microsoft.Exchange.Data assembly .DLL is, and how can I determine this so as to verify that the file exists or not?

+3  A: 

Hey,

It looks in the global assembly cache (GAC) in c:\windows\assembly. It has to be installed in the gac using the gacutil utility to install, which is often installed via the installation process of the program...

Brian
As of .NET 4.0, there's another GAC located at `C:\WINDOWS\Microsoft.NET\assembly` for .NET 4.0 components. I don't think Exchange would be there, but for other assemblies, this is a good second place to look.
Ben McCormack
It could also be in the bin folder of the application as well :) But in regards to OWA, I don;t know where MS put it. Side note, if you are missing DLLs on an OWA installation, I think more things have gone wrong than a simple whoops, I deleted that DLL accidentally.
Tommy
I've compared owa/bin between both a working SBS 2008 server and the tanked one; no differences. GAC in C:\windows\assembly looks the same too.
gravyface
@Tommy: no deletion, server went down hard after a power failure a few days ago, came back up, no OWA or ActiveSync. I think there was a pending update/deletion or something with WSUS that never got executed properly after it went down, but nothing in the logs about install errors, just that there were updates installed 4 or 5 days prior to the crash.
gravyface
what's odd is that comparing the working GAC with the non-working GAC, neither have an assembly called "Microsoft.Exchange.Data" nor is their one in the `owa/bin` folder. There is one in the Exchange Server\bin directory, however, but I don't know if it's even looking in there or not. Might be time for procmon.
gravyface
It examines the existence of the DLL, plus checks the public key token and version, so make sure those match too, but if the DLL isn't there, that's not a good sign.
Brian
Marking this as correct answer to the question (unfortunately problem still exists).
gravyface
Hey, someone else had to copy the DLL locally to the application bin directory, maybe that might be part of the problem: http://social.technet.microsoft.com/forums/en-US/exchangesvrdevelopment/thread/47305c2a-7831-487f-a31d-498559d850d0/
Brian
A: 

In a web site the web server will look in both the GAC and the bin directory. And easy way to see what's in your GAC is to right click add reference and see if the dll is listed in the .NET tab.

To add a dll to the GAC look here for a guide.

Hope this helps.

madcapnmckay
An easier way is to just navigate to `C:\windows\assembly` or `C:\winnt\assembly`
fletcher