2011-04-05 71 views
5

這是我遇到過的最奇怪的錯誤。命名空間'Y'中的類型或名稱空間名稱'X'不存在於VS生成的代碼中

這個MVC web項目工作得很好,直到今天。幾個星期以來,任何人都沒有做過這方面的工作。

即使什麼都沒有改變,只是運行,現在導致:

The type or namespace name 'ColourboxViewModel' does not exist in the namespace 'CMSModels.ViewModels' 

(X5)

The type or namespace name 'Colourbox' does not exist in the namespace 'CMSModels' (are you missing an assembly reference?) 

(X1)

有在項目CMSModels參考。刪除這個引用給了我在命名空間中每個其他類大約200個額外的錯誤,所以我知道它正在工作,但不是這兩個錯誤。

這是產生碼線,其誤差點:

public class views_colorbox_index_aspx : System.Web.Mvc.ViewPage<IEnumerable<CMSModels.Colourbox>>, System.Web.SessionState.IRequiresSessionState, System.Web.IHttpHandler { 
... 
public class views_colorbox_content_ascx : System.Web.Mvc.ViewUserControl<CMSModels.ViewModels.ColourboxViewModel> { 

智能感知拾取兩者CMSModels.ColourBox和CMSModels.ViewModels.ColourboxViewModel的位置。

我完全難住了。任何幫助非常感謝,因爲我完全處於虧損狀態。


好的我找到了問題 - 但不是解決方案。

的類定義爲

public class ColourBoxViewModel 

但所生成的代碼是尋找一類「ColourboxViewModel」的。注意小寫字母B.自動代碼從哪裏得到類的名字?在項目中搜索沒有提及小寫的b。

ColourBox類的問題相同。


問題解決了 - 和@FrantišekŽiačik你是對的。有一個文件夾被排除在項目之外(這就是爲什麼在整個項目中和Visual Studio中的視圖中都沒有找到),其中包含錯誤類型的繼承聲明。排除文件夾最初由外包商創建時稱爲ColorBox。這已被團隊中的另一位開發者複製並更名爲ColourBox,他們決定引用「正確拼寫所有內容」。現在只允許使用Speak n'Spell進行編碼。

+2

嘗試重建解決方案。 – SLaks 2011-04-05 13:35:36

+0

這可能是一個ReSharper錯誤。我來過幾次。像SLaks說的那樣,嘗試清理,重新構建和構建您的解決方案。如果這沒有幫助,而且您正在使用TFS,則可以嘗試關閉您的解決方案,並再次從soruce控制中獲取最新的項目。 – cordellcp3 2011-04-05 13:41:26

+0

重建導致相同的錯誤。我們使用SVN進行版本控制,但是從存儲庫獲取項目的新副本會導致同樣的問題。 – 2011-04-05 14:09:16

回答

5

所以這裏是我的猜測。

在你content.ascx視圖(或不管它的名字命名的)你聲明:中

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<CMSModels.ViewModels.ColourboxViewModel>" %> 

代替

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<CMSModels.ViewModels.ColourBoxViewModel>" %> 
+5

嗯...你能幫助我們這些愚蠢的人發現差異嗎? – 2011-04-05 15:02:08

+0

更新:沒關係,我明白了。 – 2011-04-05 15:02:29

+0

這是我的第一個想法,但我可以保證繼承此類的所有頁面和控件都使用ColourBoxViewModel。 – 2011-04-05 15:04:09

5

昨天我收到這個錯誤,我發現這些答案,但在我的情況下,他們沒有幫助。 事實證明,在我的客戶端項目屬性中,Target框架被設置爲.NET Framework 4 Client Profile。 解決方案是將其更改爲完整的.NET 4。希望這可以幫助某人,因爲VS中的錯誤並不是非常有用。

相關問題