我在VS2010和MonoDevelop中使用标准文件中的这两个类创建了相同的ASP.NET C#项目( Site.Master , Web.Config , Default.aspx 等)并收到底部看到的同样错误(CS0234)。
Login.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using mynamespace;
namespace mynamespace
{
public partial class Logon
{
public void btnClicked(object sender, EventArgs e)
{
//ERROR IS HERE:
mynamespace.Test session = new mynamespace.Test();
//Obviously, this doesn't work either:
Response.Write(session.echoUser());
}
}
}
test.cs中:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using mynamespace;
namespace mynamespace
{
public class Test
{
public string echoUser()
{
return "foobar";
}
}
}
我在两个IDE中都收到同样的错误,这是MonoDevelop错误:
命名空间'mynamespace'中不存在类型或命名空间'Test'(您是否缺少程序集引用?)(CS0234)Logon.cs
基本上,类Test拒绝实例化。任何意见都表示赞赏!
答案 0 :(得分:1)
如果您尚未完成项目,则需要相互参考项目。我猜你没有得到intellisense来在其他命名空间中显示该类,对吗?
您可以在项目视图下的右侧(大多数情况下)看到引用。您可以右键单击并选择添加参考。然后从pther项目浏览到二进制文件。 (你也许也可以指向项目本身 - 我现在没有VS在我面前。)
此外,对于命名空间使用驼峰大小的惯例,因此它应该是 MyNameSpace 。
如果这些类在同一个项目中,您可能希望跳过使用mynamespace 并通过 mynamespace.Test Test intead引用该类
答案 1 :(得分:1)
如果您在ASP.Net Web项目中拥有该Test类,则需要将其放在App_Code文件夹中,而不仅仅是站点中的任何位置。
答案 2 :(得分:0)
如果它们都在同一个项目中,请检查项目中是否包含这两个文件,并将“Build Action”属性设置为“Compile”。还请检查所有这些命名空间是否具有完全匹配的拼写和套管。