我创建了一个新项目(C#中的Web项目)。 在我的项目中创建了一个名为App_Code的新文件夹。 然后我继续添加一个包含以下内容的类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Shipper.DataLayer;
namespace Shipper.BusinessLayer
{
public static class BL
{
public static int JustSomeTest()
{
return 1;
}
}
}
在我试图做的代码后面的default.aspx
页面中,有一个:
int i = BL.JustSomeTest();
当我输入BL.
时,我没有得到任何智能感知。它说我缺少装配或参考。或者它会说The name BL does not exist in the current context
。
但是如果类文件在同一个项目中,我是否必须包含引用?我甚至尝试构建我的项目,它首先使用我的解决方案文件Shipper.dll
的名称生成了一个dll文件,但是只要我添加此引用就会显示The name BL does not exist in the current context
。
在我的default.aspx页面中,我尝试添加一个using语句
using Shipper.
但是一旦我这样做,我的命名空间BusinessLayer就没有显示...... 我很困惑?
这是default.aspx:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Shipper.BusinessLayer;
namespace Shipper
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
SetDefaults();
int i = BL.JustSomeTest();
}
}
}
}
这是我的BL.cs
文件:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Shipper.DataLayer;
namespace Shipper.BusinessLayer
{
public static class BL
{
public static int JustSomeTest()
{
return 1;
}
}
}
错误显示为The type or namespace name
BusinessLayer does not exist in the namespace Shipper (are you missing an assembly reference)?
答案 0 :(得分:5)
你的......
public static int JustSomeTest()
{
return 1;
}
...是out of the 'class'
- 您不能单独为命名空间定义方法。
(至少在你的例子中,它可能只是一个错字,但你需要给我们一个工作的例子)
答案 1 :(得分:2)
你的方法不在课堂上。这是禁忌。试试这个:
namespace Shipper.BusinessLayer
{
public static class BL
{
public static int JustSomeTest()
{
return 1;
}
}
}
此外,如果您希望弹出BL,请确保引用名称空间(using Shipper.BusinessLayer
)。为什么这是一个静态类?我想你可能不希望这样,除非你正在制作扩展方法。
答案 2 :(得分:0)
试
使用Shipper.BusinessLayer;
要尝试的事情
答案 3 :(得分:0)
尝试删除命名空间声明:
using System;
public static class BL
{
public static int JustSomeTest()
{
return 1;
}
}
答案 4 :(得分:0)
答案 5 :(得分:0)
首先要确保您已添加对Shipper项目的引用,而不是托运人DLL。
然后确保重新构建Shipper项目,最好打算进行清理和构建。
然后再次检查你的intellisense,我怀疑你是referencin的一个oleder版本的Shipper dll。
答案 6 :(得分:0)
尝试让您的课程不是静态的,但请将您的方法保持为静态。 (只是因为我从不使用静态类,但它似乎没有任何区别)
或者,如果您遇到问题并且无法解决问题,请安装Resharper的副本,这可能会有所帮助!