1

我在标准文件( Site.MasterWeb.ConfigDefault.aspx等)中使用这两个类在 VS2010 和 MonoDevelop 中制作了相同的 ASP.NET C# 项目,并在底部看到了同样的错误(CS0234) .

登录.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());

        }
    }

}

测试.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 拒绝实例化。任何输入表示赞赏!

4

3 回答 3

1

如果您还没有这样做,您需要将项目相互参考。我猜你没有智能感知来显示另一个命名空间中的类,对吧?

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

此外,命名空间使用驼峰式大小写是一种惯例,因此它应该是MyNameSpace

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

于 2012-12-20T18:50:41.247 回答
1

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

于 2012-12-20T19:21:32.580 回答
0

如果它们都在同一个项目中,请检查两个文件是否都包含在项目中并将“构建操作”属性设置为“编译”。还请检查所有这些命名空间的拼写和大小写是否完全匹配。

于 2012-12-20T19:15:05.303 回答