我得到歡樂的類型或命名空間名稱「Something」在名稱空間「Something else」中不存在(您是否缺少程序集引用?)'錯誤。您是否缺少程序集參考?
我所得到的是一個包含該網站本身在其網站依賴其他幾個自定義項目沿網站項目。我遇到的問題是網站所依賴的其中一個項目,我們稱之爲A.它依賴於不同的定製項目,稱爲B.
因此,B是解決方案的一部分,而我可以成功建立B. A有一個對B的引用,似乎沒有任何錯誤(沒有小的黃色三角形感嘆號)。網站本身在Bin文件夾中也有A和B的dll。它也有一個dll.refresh文件,這是不正確的(錯誤的路徑)。但是,手動糾正dll.refresh似乎沒有效果。從網站的bin文件夾中刪除這些文件也沒有效果。
我也試着從溶液中除去A和B,然後readding他們。我也嘗試刪除A對B的引用,然後再次添加它(從項目選項卡和手動瀏覽到.dll本身)。
我這個標記可視源安全,以及由於項目工作,直到我從源代碼控制的最新版本,所以這個問題是絕對相關的一些變化作出我的同事(有意或無意)之一。我懷疑它是由項目的不同文件系統佈局引起的,但我不確定,如果是這種情況,我不明白爲什麼我無法解決問題。
這融合日誌的結果,我不完全理解它。
*** Assembly Binder Log Entry (10/20/2009 @ 1:43:06 PM) *** The operation failed. Bind result: hr = 0x80070002. The system cannot find the file specified. Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll Running under executable C:\Windows\SysWOW64\inetsrv\w3wp.exe --- A detailed error log follows. === Pre-bind state information === LOG: User = NT AUTHORITY\NETWORK SERVICE LOG: DisplayName = A, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null (Fully-specified) LOG: Appbase = file:///C:/source/ProjectRoot/Project/Website/ LOG: Initial PrivatePath = C:\source\ProjectRoot\Project\Website\bin LOG: Dynamic Base = C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\6db59b13 LOG: Cache Base = C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\6db59b13 LOG: AppName = 1601d5b6 Calling assembly : ProjectBO, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null. === LOG: This bind starts in default load context. LOG: Using application configuration file: C:\source\ProjectRoot\Project\Website\web.config LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework\v2.0.50727\Aspnet.config LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config. LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind). LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/root/6db59b13/1601d5b6/A.DLL. LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/root/6db59b13/1601d5b6/A/A.DLL. LOG: Attempting download of new URL file:///C:/source/ProjectRoot/Project/Website/bin/A.DLL. LOG: Attempting download of new URL file:///C:/source/ProjectRoot/Project/Website/bin/A/A.DLL. LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/root/6db59b13/1601d5b6/A.EXE. LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/root/6db59b13/1601d5b6/A/A.EXE. LOG: Attempting download of new URL file:///C:/source/ProjectRoot/Project/Website/bin/A.EXE. LOG: Attempting download of new URL file:///C:/source/ProjectRoot/Project/Website/bin/A/A.EXE. LOG: All probing URLs attempted and failed.
從這條線來看:「LOG:初始PrivatePath = C:\源\ ProjectRoot \項目\網站\ BIN」它看起來像它的dll後會在網站的垃圾桶,而不是之後的打算dll與項目A相關聯。但是,我沒有看到任何提及B.無論如何,希望這會有所幫助,我會繼續關注融合,順便說一下,酷的工具!
部署它並使融合日誌運行。它會告訴你它在哪裏尋找你的DLL,這將幫助你確定問題。這是我避免像鼠疫這樣的網站項目的原因之一。在WAP中沒有問題。 – Will 2009-10-20 20:39:24
呃,當你說'部署它'時,它究竟構成了什麼?我已經通過IIS(7.0)設置好了,這樣我就可以瀏覽到像http://dev.project.com/這樣的東西,並且我可以訪問該網站。這是'部署'? – Trajanus 2009-10-20 20:46:01