[英]The type or namespace name 'X' does not exist in the namespace 'Y' - in VS generated code
這是我遇到過的最奇怪的錯誤。
這個 MVC Web 項目直到今天都運行良好。 幾周內沒有人處理過它。
即使沒有任何改變,現在簡單地運行它會導致:
命名空間“CMSModels.ViewModels”中不存在類型或命名空間名稱“ColourboxViewModel”
(x5)
命名空間“CMSModels”中不存在類型或命名空間名稱“Colourbox”(您是否缺少程序集引用?)
(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> {
Intellisense 正在獲取 CMSModels.ColourBox 和 CMSModels.ViewModels.ColourboxViewModel 的位置。
我完全被難住了。 任何幫助都非常感謝,因為我完全不知所措。
好的,我找到了問題 - 但不是解決方案。
該類定義為
public class ColourBoxViewModel
然而生成的代碼正在尋找“ColourboxViewModel”類。 注意小寫的 B。自動生成代碼從哪里獲取類的名稱? 在項目中搜索顯示沒有提到它的小寫字母 b。
ColourBox 類的問題是一樣的。
問題解決了 - @František Žiačik 你是對的。 有一個已從項目中排除的文件夾(這就是為什么在整個項目和 Visual Studio 中的視圖中搜索一無所獲),其中包含錯誤類型的繼承語句。 最初由外包商創建時,排除的文件夾稱為 ColorBox。 這已被團隊中的另一位開發人員復制並重命名為 ColourBox,他決定,我引用,“正確拼寫所有內容”。 所述開發人員現在只能使用 Speak n' Spell 進行編碼。
我昨天遇到了這個錯誤,我找到了這些答案,但就我而言,它們沒有幫助。 相反,事實證明,在我的客戶端項目屬性中,目標框架設置為 .NET Framework 4 客戶端配置文件。 解決方案是將其更改為完整的 .NET 4。希望這可以幫助某人,因為 VS 中的錯誤不是很有幫助。
所以這是我的猜測。
在您的content.ascx
視圖(或任何名稱)中,您已聲明:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<CMSModels.ViewModels.ColourboxViewModel>" %>
代替
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<CMSModels.ViewModels.ColourBoxViewModel>" %>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.