.NET程序集引用如何“转换”为文件路径?

时间:2010-08-17 15:42:02

标签: .net asp.net assembly-resolution

我正在尝试使用SBS 2008 Server上的Outlook Web Access解决.NET 2.0错误。

我得到的错误是:

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) 

在web.config的第51行,我有:

                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>

所以在“web.config-ese”中,它如何“知道”Microsoft.Exchange.Data程序集.DLL的位置,以及如何确定这个以便验证文件是否存在?

2 个答案:

答案 0 :(得分:3)

它在c:\ windows \ assembly中的全局程序集缓存(GAC)中查找。它必须使用gacutil实用程序安装在gac中,这通常是通过程序的安装过程安装的......

答案 1 :(得分:0)

在网站中,Web服务器将同时查看GAC和bin目录。轻松查看GAC中的内容的方法是右键单击添加引用,查看是否在.NET选项卡中列出了dll。

向GAC look here添加dll以获取指南。

希望这有帮助。