CS0234 - 无法在ASP.NET中实例化C#类

时间:2012-12-20 18:47:17

标签: c# asp.net

我在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拒绝实例化。任何意见都表示赞赏!

3 个答案:

答案 0 :(得分:1)

如果您尚未完成项目,则需要相互参考项目。我猜你没有得到intellisense来在其他命名空间中显示该类,对吗?

您可以在项目视图下的右侧(大多数情况下)看到引用。您可以右键单击并选择添加参考。然后从pther项目浏览到二进制文件。 (你也许也可以指向项目本身 - 我现在没有VS在我面前。)

此外,对于命名空间使用驼峰大小的惯例,因此它应该是 MyNameSpace

如果这些类在同一个项目中,您可能希望跳过使用mynamespace 并通过 mynamespace.Test Test intead引用该类

答案 1 :(得分:1)

如果您在ASP.Net Web项目中拥有该Test类,则需要将其放在App_Code文件夹中,而不仅仅是站点中的任何位置。

答案 2 :(得分:0)

如果它们都在同一个项目中,请检查项目中是否包含这两个文件,并将“Build Action”属性设置为“Compile”。还请检查所有这些命名空间是否具有完全匹配的拼写和套管。