2012-08-03 42 views
1

我有一個名爲CCESD的網站,它在IIS7中設置;我的應用程序根文件夾是D:\ Websites \ CCESD \ CCESD。在D:\ Websites \ CCESD \ CCESD \ BinCommon中,我也有一個存放第三方程序集的文件夾(並非所有程序都是強命名的):這是因爲我在IIS中的這個根目錄下還有許多其他Web應用程序,共享DLL,其中一些是非託管代碼,因此無法進入GAC。我的web.config文件看起來是這樣的:如何綁定到/ bin文件夾外部的程序集

<compilation defaultLanguage="c#" debug="true" targetFramework="4.0"> 
    <assemblies> 
    ... 
    <add assembly="Telerik.Web.UI, Version=2012.1.288.40, Culture=neutral, PublicKeyToken=121FAE78165BA3D4" /> 
    </assemblies> 
</compilation> 

... 

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <probing privatePath="BinCommon" /> 
    </assemblyBinding> 
</runtime> 

然而,當我嘗試運行Web應用程序,我得到以下錯誤(啓用後組裝結合錯誤日誌):

分析器錯誤消息:無法加載文件或程序集'Telerik.Web.UI, 版本= 2012.1.288.40,Culture = neutral, PublicKeyToken = 121fae78165ba3d4'或其依賴項之一。 系統找不到指定的文件。

源文件:d:\網站\ CCESD \ CCESD \ web.config行:144

集加載跟蹤:下列信息可以幫助確定 集「Telerik.Web.UI,版本= 2012.1.288.40, Culture = neutral,PublicKeyToken = 121fae78165ba3d4'無法加載。

大會經理裝入來源: C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \ clr.dll

下可執行的C運行:\ WINDOWS \ SYSTEM32 \ INETSRV \ w3wp.exe的

---詳細的錯誤日誌如下。

===預綁定狀態信息===

LOG:用戶= IIS APPPOOL \ CCESD

LOG:DisplayName的= Telerik.Web.UI,版本= 2012.1.288.40文化=中性公鑰= 121fae78165ba3d4(完全指定的)

LOG:應用平臺=文件:/// d:/網站/ CCESD/CCESD/

LOG:初始PrivatePath = d:\網站\ CCESD \ CCESD \倉調用 程序集:(未知)。 ===

LOG:此綁定在默認加載上下文中啓動。

LOG:使用應用程序配置文件: d:\網站\ CCESD \ CCESD \ web.configLOG:使用主機配置文件: C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet.config

LOG:使用來自 的機器配置文件C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ config \ machine.config。

LOG:後政策參考:Telerik.Web.UI,版本= 2012.1.288.40, 文化=中性公鑰= 121fae78165ba3d4

LOG:嘗試新的URL 文件下載:/// C: /Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/e11e9098/9e133b72/Telerik.Web.UI.DLL。

LOG:嘗試新的URL 文件下載:/// C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET 文件/根/ e11e9098/9e133b72/Telerik.Web。 UI/Telerik.Web.UI.DLL。

LOG:試圖下載新的URL file:/// D:/Websites/CCESD/CCESD/bin/Telerik.Web.UI.DLL。

日誌:試圖下載新的URL file:/// D:/Websites/CCESD/CCESD/bin/Telerik.Web.UI/Telerik.Web.UI.DLL。

LOG:嘗試新的URL 文件下載:/// C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET文件/根/ e11e9098/9e133b72/Telerik.Web.UI 。可執行程序。

LOG:嘗試新的URL 文件下載:/// C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET 文件/根/ e11e9098/9e133b72/Telerik.Web。 UI/Telerik.Web.UI.EXE。

日誌:試圖下載新的URL file:/// D:/Websites/CCESD/CCESD/bin/Telerik.Web.UI.EXE。

日誌:試圖下載新的URL file:/// D:/Websites/CCESD/CCESD/bin/Telerik.Web.UI/Telerik.Web.UI.EXE。

我檢查了文件是否存在以及版本和公鑰信息是否正確。我究竟做錯了什麼?

回答

1

我終於找到了;最後,它是這樣的:

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> 

我的項目開始生活在Visual Studio 2005;因此上面顯示的xmlns屬性出現在我的web.config文件的包含元素中。刪除它解決了問題,現在我的程序集正在正確加載。

谷歌搜索顯示,xmlns屬性是在那裏啓用Visual Studio中的智能感知(它的確的確如此):它對加載程序集沒有任何影響,所以這有點奇怪(更別說煩人了)。不過,現在它正在工作。

相關問題