.net 4.5 命名空间中不存在类型或命名空间名称(是否缺少程序集引用?)

.net 4.5 命名空间中不存在类型或命名空间名称(是否缺少程序集引用?),.net-4.5,c#,.net 4.5,C#,我知道这个问题已经被问过了,但我找不到任何有助于解决我问题的方法 我想将我的aspx页面(retet.aspx)连接到Microsoft SQL数据库。我在retet.aspx.cs上收到此错误: 错误1命名空间“ProiectSera”中不存在类型或命名空间名称“GlobalClass”(是否缺少程序集引用?) 错误指向这行代码: 其中,ProiectSera是项目名称,GlobalClass是我在db上进行操作的文件 我的使用声明如下: using System; using System.

我知道这个问题已经被问过了,但我找不到任何有助于解决我问题的方法

我想将我的
aspx
页面(
retet.aspx
)连接到Microsoft SQL数据库。我在
retet.aspx.cs
上收到此错误:

错误1命名空间“ProiectSera”中不存在类型或命名空间名称“GlobalClass”(是否缺少程序集引用?) 错误指向这行代码:

其中,
ProiectSera
是项目名称,
GlobalClass
是我在db上进行操作的文件

我的使用声明如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ProiectSera;
目标框架设置为

我应该如何解决此错误

更新 我的GlobalClass.cs是:

using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using System.IO;
using ProiectSera;

using System.Data.Services;

namespace ProiectSera.App_Code
{
    public static class GlobalClass
    {
        static public void Update(string _param1, string _param2)
        {//function to update}
}
}
App_Code是存放GlobalClass.cs的文件夹。我试着

ProiectSera.App_Code.GlobalClass.Update(ValRefTempSol.Text, ValRefTempAer.Text); //
但我也犯了同样的错误。我把GlobalClass.cs放在项目的根目录中。我还从名称空间ProiectSera.App\u代码中删除了.App\u代码

更新1 我的retet.aspx.cs是

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ProiectSera;
using ProiectSera.App_Code;

namespace ProiectSera
{
    public partial class Retete : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btnSave_Click(object sender, EventArgs e)
        {
            string intValRefTempSol;
            string intValRefTempAer;

 //           intValRefTempSol = ValRefTempSol.Text;
 //           intValRefTempAer = ValRefTempAer.Text;


   //         ProiectSera.App_Code.GlobalClass.Update(ValRefTempSol.Text, ValRefTempAer.Text);
            GlobalClass.Update(ValRefTempSol.Text, ValRefTempAer.Text);
}
}
}

确保以下各项

  • 如果ProiectSera在单独的库中,那么您可以从web应用程序中获得对它的项目引用。如果GlobalClass位于web应用程序项目本身中,则不需要这样做,但如果GlobalClass是在同一解决方案或其他地方的单独库中定义的,则需要在web应用程序中访问该外部库
  • 确保ProiectSera不应该是ProjectSera(如果是打字错误)
  • 确保您的ProiectSera using语句位于顶部(
    using ProiectSera;
    )。假设这是正确的名称空间。检查GlobalClass类的名称空间,并在希望使用其功能的类中相应地使用该名称空间
  • 然后,只要在代码中调用它,假设Update是GlobalClass的静态方法

    GlobalClass.Update(ValRefTempSol.Text,ValRefTempAer.Text)

编辑:鉴于您现在已经发布了GlobalClass代码,您可以看到该类的名称空间是
ProiectSera.App_code
;。因此,您需要在另一个类
using ProiectSera.App_code中使用该语句。然后通过GlobalClass.Update调用它,如上所述


如果您不了解名称空间在C#中是如何工作的,那么我建议您检查一下()。

您的
GlobalClass
位于名称空间
ProiectSera.App_code

所以类名是
ProiectSera.App\u code.GlobalClass

确保
ProiectSera
命名空间中也没有
ProiectSera
类,否则如果在顶部声明
using ProiectSera
,它将尝试使用它(一般来说,不要将任何类命名为与命名空间相同的类)

如果仍然不起作用,您可能希望尝试使用
全局
命名空间:

global::ProiectSera.GlobalClass.Update(ValRefTempSol.Text, ValRefTempAer.Text);
看看这是否有效:如果没有,并且
GlobalClass
在同一个项目中,那么还有一些东西你没有展示给我们

更新


如果您确信两个文件都在同一个项目/程序集上,那么想到的另一件事是,
GlobalClass.cs
实际上没有被编译。确保
生成操作
设置为
编译
(您可以在解决方案资源管理器中右键单击
GlobalClass.cs
,然后选择
属性
)。

如果您使用的是VS.NET:

  • 右键单击项目上的References文件夹
  • 选择添加引用
  • 选择.NET选项卡(如果不是.NET Framework程序集,请选择浏览按钮)
  • 双击错误消息中包含命名空间的程序集
  • 按OK按钮

  • “使用”语句中的内容并不重要,重要的是“项目引用”中的内容。是
    GlobalClass
    文件还是
    class
    ?确保它是
    公共的
    @BryceWagner什么应该包含“项目参考”?@tchelidze是一个文件GlobalClass.cs。是公共的。GlobalClass和rette.aspx在同一个项目中吗?@knightsb是的,它在同一个项目中。让我看看我是否理解得很好。当这两个文件位于不同的项目中时会出现此错误?可以这样做,但如果您只是在同一项目中没有正确引用GlobalClass,也可能发生此错误。这要求您拥有基于GlobalClass名称空间的正确using语句。然后正确地引用该类和方法(正如我在上面所写的那样)。我尝试了删除项目名称并仅使用:GlobalClass.Update(ValRefTempSol.Text,ValRefTempAer.Text);但问题是一样的。我用信息更新我的问题。我更新了我的答案。您没有为GlobalClass包含正确的命名空间。名称空间是ProiectSera.App_代码。将其添加为using语句,然后只调用GlobalClass.Update()。此外,请确保GlobalClass与web应用程序位于同一个项目中。如果它在同一解决方案中的单独类库中,或在其他地方,则您需要在web应用程序项目中引用该类库。@magn更新后,如果您100%肯定
    GlobalClass.cs
    Retete.cs
    在同一项目中(即使在不同的文件夹中),如果
    global::ProiectSera.App\u code.GlobalClass.Update(…)
    不起作用,唯一想到的是你的
    GlobalClass.cs
    没有被编译。确保
    GlobalClass.cs
    上的
    Build操作
    设置为
    Compile
    (右键单击解决方案资源管理器中的fle并选择
    Properties
    以查看属性窗口)@magn,因此它没有被编译?是的。
    global::ProiectSera.GlobalClass.Update(ValRefTempSol.Text, ValRefTempAer.Text);