![](/img/trans.png)
[英]ASP.NET MVC 5 and Visual Studio 2015RC CS0234 and CS0103 errors
[英]Too many sub-namespaces in Asp.Net? CS0234
在Asp.Net項目上工作,添加一個新的控件(ascx),遇到了一個奇怪的CS0234問題。 基本上,編譯器找不到完全限定的命名空間。 是什么使得它真正奇怪的是,有時它可以找到它,有時不能。 每次我進行構建時都無法在不同的文件中找到它。 也就是說,有時它會構建。 有時它會在文件a和b中找到它,但不能在c和d中找到它。 有時它會在a,b和c中找到命名空間,但不能找到d。 和其他所有的排列。
添加在類ClassName(ClassName.ascx和ClassName.ascx.cs文件)中定義的新控件。
路徑為:c:.. \\ Project \\ WebuserControls \\ ControlType
命名空間是Project.WebUserControls.ControlType
在整個項目中,我調用Project.WebUserControls.ControlType.ClassName.SomeMethod();
當我編譯時,我得到錯誤“CS0234類型或名稱空間名稱'Project.WebUserControls.ControlType'在類或名稱空間'Project.WebUserControls'中不存在(你是否缺少程序集引用?)”即使它確實存在在該命名空間中。 此外,Intellisense無法找到命名空間或其中的任何內容。
c#文件是表單
namespace Project.WebUserControls.ControlType
{
using System
...etc
public partial class ClassName : System.Web.UI.UserControl
{
經過大量的谷歌搜索后,我找到了這個 ,這可能會導致一個解決方案。
在web.config中:
<system.web>
...
<pages>
...
<namespaces>
<add namespace="Project.WebUserControls" />
有趣的是,如果我用namespace="Project.WebUserControls"
替換namespace="Project.WebUserControls.ControlType"
,它將無法編譯。
這個修復工作大約半個小時,幾個版本,但現在已停止工作。 不,我沒有更改任何代碼使其停止工作。
有任何想法嗎?
幾個小時后:將ClassName(類和文件)分別移動到名稱空間和路徑中的一個級別似乎已經解決了問題。 也就是說,它現在位於命名空間Project.WebUserControls和路徑c:.. \\ Project \\ WebUserControls \\
不知道為什么會這樣。 路徑名稱遠低於255個字符。
第二天,再次破碎......沒有改變任何事情。
聽起來像vstudio / IIS所做的卷影副本沒有被正確地重建/使用。
嘗試內置的開發人員服務器(在vstudio中)或重新啟動IIS
聽起來更像是Visual Studio問題而不是C#/ .NET問題。
只是為了澄清:只有在你添加一些類然后嘗試訪問它之后才會得到這些錯誤,或者即使你沒有添加任何內容,也會在每次構建后隨機獲得這些錯誤?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.