繁体   English   中英

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

[英]The type or namespace name does not exist in the namespace (are you missing an assembly reference?)

我知道已经有人问过这个问题,但我找不到任何可以帮助解决我的问题的东西。

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

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

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

其中ProiectSera是项目名称, GlobalClass是我对数据库进行操作的文件。

我的使用语句是:

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 放在项目的根目录中。 我也从删除.App_Code namespace ProiectSera.App_Code

UPDATE1我的 Retete.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);
}
}
}

您的GlobalClass位于命名空间ProiectSera.App_Code

所以类名是ProiectSera.App_Code.GlobalClass

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

如果这仍然不起作用,您可能需要尝试使用global命名空间:

global::ProiectSera.GlobalClass.Update(ValRefTempSol.Text, ValRefTempAer.Text);

看看这是否有效:如果无效,并且GlobalClass在同一个项目中,那么您还没有向我们展示其他内容

更新

唯一想到的另一件事是,如果您确定两个文件都在同一个项目/程序GlobalClass.cs ,则GlobalClass.cs并未实际编译。 确保Build Action设置为Compile (您可以在解决方案资源GlobalClass.cs中右键单击GlobalClass.cs并选择Properties看到构建操作)。

如果您使用的是 VS.NET:

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

确保以下...

  • 如果您的 Web 应用程序位于单独的库中,则您有对 ProiectSera 的项目引用。 如果 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;把它作为你的 using 语句using ProiectSera.App_Code; . 然后通过简单的 GlobalClass.Update 调用它,如上所述。

如果您不了解命名空间在 C# 中的工作原理,那么我建议您查看一下 ( https://msdn.microsoft.com/en-us/library/dfb3cx8s.aspx )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 类型或名称空间名称在名称空间中不存在“是否缺少程序集引用?” 命名空间中不存在类型或命名空间名称(是否缺少程序集引用?)- 无法引用 class CS0234:命名空间“<namespace1>”中不存在类型或命名空间名称“<namespace2>”。 (你错过了一个程序集引用吗?) 错误 CS0234:命名空间“Microsoft”中不存在类型或命名空间名称“Azure”(您是否缺少程序集引用?) 命名空间“System.Web”中不存在类型或命名空间名称“Mvc”(您是否缺少程序集引用?)Kentico 命名空间“Microsoft.SqlServer”中不存在类型或命名空间名称“Smo”(您是否缺少程序集引用?) 命名空间“MicrosoftSqlServer”中不存在类型或命名空间名称“Management”,您是否缺少程序集引用 CS0234 C#类型或名称空间名称&#39;Slydeextender&#39;在名称空间中不存在(您是否缺少程序集引用?) 命名空间“Android.Support.V4.App”中不存在类型或命名空间名称“TaskStackBuilder”(您是否缺少程序集引用?) 命名空间“Microsoft.AspNetCore”中不存在类型或命名空间名称“Mvc”(您是否缺少程序集引用?)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM