asp.net教程:編譯錯誤同時存在於不一樣dll中

asp.net 編譯錯誤類型「同時存在於」不一樣的dll中.緩存

出現這種錯誤大概有三種狀況:asp.net

一、ASPX頁面,一個*.ASPX,對應着一個*.cs文件,二者實際上是一個文件,經過二者實現代碼分離,每一個*.aspx頁面都引用着自身的CS文件:若是兩個頁面引用了相同得.CS文件,在發佈得時候也會出現這種錯誤。測試

二、估計是在Bin裏面還有一個老版本的DLL,而新版的DLL名字換掉了,新的覆蓋不掉老的,並存在BIN裏時,有可能會發生這種狀況. 解決方案:把BIN裏的手動刪掉,C:\WINDOWS\Microsoft.NET\Framework\版本號\Temporary   ASP.NET   Files的臨時文件裏,把相應的目錄都刪掉,而後從新編譯運行就OK.記着bin目錄下組件必定要手動刪除網站

 

三、我就是碰見得這種狀況:控件得名字和引用控件得頁面取了如出一轍得名字,雖然在編譯得時候沒有錯誤,可是發佈得時候會提示。spa

出現這種錯誤大概有三種狀況:.net

一、ASPX頁面,一個*.ASPX,對應着一個*.cs文件,二者實際上是一個文件,經過二者實現代碼分離,每一個*.aspx頁面都引用着自身的CS文件:若是兩個頁面引用了相同得.CS文件,在發佈得時候也會出現這種錯誤。調試

二、估計是在Bin裏面還有一個老版本的DLL,而新版的DLL名字換掉了,新的覆蓋不掉老的,並存在BIN裏時,有可能會發生這種狀況. 解決方案:把BIN裏的手動刪掉,C:\WINDOWS\Microsoft.NET\Framework\版本號\Temporary   ASP.NET   Files的臨時文件裏,把相應的目錄都刪掉,而後從新編譯運行就OK.記着bin目錄下組件必定要手動刪除開發

三、我就是碰見得這種狀況:控件得名字和引用控件得頁面取了如出一轍得名字,雖然在編譯得時候沒有錯誤,可是發佈得時候會提示。get

以及一個補充說明:io

若是你的用戶控件名字不同,可是Control指令中的ClassName屬性的值同樣也會出現上面的錯誤

個人項目一下午都在修繕、調試,因此我很清楚個人項目裏沒有重複類引用。

而且我這個情況很離奇:它一直報關於一個用戶控件的同時存在錯誤,然而某次重試時卻編譯成功,然後沒轉幾個頁面,又報另外一個用戶控件同時存在錯誤,在這以後又從新沒法編譯成功,繼續報最初那個用戶控件的錯誤。

我以爲這個報錯純屬胡來,因此我認定是Visual Studio內部錯誤致使,因此嘗試了清理緩存、清理Bin、清理Obj、VS裏的清理、重編譯命令,乃至從新啓動電腦,全都不行,先後折騰了得小一個鐘頭,已經是怒不可遏。

而後我決定找出下午備份的版原本測試,一次成功,因而就把錯誤鎖定在兩個版本間的差別上了。

我想起我曾在此期間經過「添加現有項」從其餘網站項目中添加了一個ashx,因而仔細檢查此文件,發現其cs文件中的命名空間已改成個人項目默認命名空間,可是其ashx文件中卻沒有更改,還保留着原來項目的命名空間(ashx文件中只有一個頭部聲明,因此在VS裏雙擊ashx文件是直接打開其cs文件,致使容易忽略這個文件)。

將其修正後,編譯錯誤CS0433終於再也不出現了。

這雖然是我的的小失誤形成的問題,可是Asp.Net的錯誤提示卻跟瘋狗似的亂咬一通,嚴重誤導、干擾開發者解決問題,但願Asp.Net的開發團隊能修正此問題,並在往後減小相似的疏失。
轉載自:http://www.aspnetjia.com

相關文章
相關標籤/搜索