命名空间中不存在类型或命名空间名称(是否缺少程序集引用?)
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
:
上收到此错误
Error 1 The type or namespace name 'GlobalClass' does not exist in the namespace 'ProiectSera' (are you missing an assembly reference?)
The error points to this line of code:
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;
目标框架设置为 .net-4.5。
我应该怎么做才能解决这个错误?
更新
我的 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 放在项目的根目录中。我还从 namespace ProiectSera.App_Code
中删除了 .App_Code
更新1
我的 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);
}
}
}
确保以下...
- 您的 Web 应用程序中有对 ProiectSera 的项目引用(如果它位于单独的库中)。如果 GlobalClass 在 Web 应用程序项目本身中,则您不需要这样做,但如果 GlobalClass 在同一解决方案或其他地方的单独库中定义,那么您将需要 add a reference 到该外部库在您的网络应用程序中。
- 确保 ProiectSera 不应该是 ProjectSera(如果是打字错误)。
- 确保您的 ProiectSera using 语句位于顶部 (
using ProiectSera;
)。假设这是正确的命名空间。检查您的 GlobalClass class 的命名空间,并在希望使用其功能的 class 中相应地使用它。
然后,只需在您的代码中调用它,假设 Update 是 GlobalClass 的静态方法。
GlobalClass.Update(ValRefTempSol.Text, ValRefTempAer.Text);
编辑:鉴于您现在已经发布了 GlobalClass 代码,您可以看到此 class 的命名空间是 ProiectSera.App_Code
;。因此,您需要将其作为另一个 class using ProiectSera.App_Code;
中的 using 语句。然后通过简单的 GlobalClass.Update 调用它,如上所述。
如果您不了解命名空间在 C# 中的工作原理,那么我建议您查看此内容 (https://msdn.microsoft.com/en-us/library/dfb3cx8s.aspx)。
您的 GlobalClass
在命名空间 ProiectSera.App_Code
中。
所以 class 名字是 ProiectSera.App_Code.GlobalClass
确保在 ProiectSera
命名空间中也没有 ProiectSera
class,否则如果在顶部声明 using ProiectSera
,它将尝试使用它(作为一般规则,不要命名任何 class 与您的命名空间相同)。
如果仍然无效,您可能想尝试使用 global
命名空间:
global::ProiectSera.GlobalClass.Update(ValRefTempSol.Text, ValRefTempAer.Text);
看看是否有效:如果无效,并且 GlobalClass
在同一个项目中,则还有其他内容您没有向我们展示
更新
唯一想到的另一件事是,如果您确定两个文件都在同一个 project/assembly 上,那么 GlobalClass.cs
并没有被实际编译。确保 Build Action
设置为 Compile
(您可以在解决方案资源管理器中右键单击 GlobalClass.cs
并选择 Properties
来查看构建操作)。
如果您正在使用 VS.NET:
- 右键单击项目中的“引用”文件夹。
- Select 添加引用。
- Select .NET 选项卡(如果不是 .NET Framework 程序集,则 select 浏览按钮)。
- 双击错误消息中包含命名空间的程序集。
- 按确定按钮。
我知道这个问题已经被问过了,但是我找不到任何可以帮助解决我的问题的东西。
我想将我的 aspx
页面 (Retete.aspx
) 连接到 Microsoft SQL 数据库。我在 Retete.aspx.cs
:
Error 1 The type or namespace name 'GlobalClass' does not exist in the namespace 'ProiectSera' (are you missing an assembly reference?) The error points to this line of code:
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;
目标框架设置为 .net-4.5。
我应该怎么做才能解决这个错误?
更新 我的 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 放在项目的根目录中。我还从 namespace ProiectSera.App_Code
更新1 我的 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);
}
}
}
确保以下...
- 您的 Web 应用程序中有对 ProiectSera 的项目引用(如果它位于单独的库中)。如果 GlobalClass 在 Web 应用程序项目本身中,则您不需要这样做,但如果 GlobalClass 在同一解决方案或其他地方的单独库中定义,那么您将需要 add a reference 到该外部库在您的网络应用程序中。
- 确保 ProiectSera 不应该是 ProjectSera(如果是打字错误)。
- 确保您的 ProiectSera using 语句位于顶部 (
using ProiectSera;
)。假设这是正确的命名空间。检查您的 GlobalClass class 的命名空间,并在希望使用其功能的 class 中相应地使用它。 然后,只需在您的代码中调用它,假设 Update 是 GlobalClass 的静态方法。
GlobalClass.Update(ValRefTempSol.Text, ValRefTempAer.Text);
编辑:鉴于您现在已经发布了 GlobalClass 代码,您可以看到此 class 的命名空间是 ProiectSera.App_Code
;。因此,您需要将其作为另一个 class using ProiectSera.App_Code;
中的 using 语句。然后通过简单的 GlobalClass.Update 调用它,如上所述。
如果您不了解命名空间在 C# 中的工作原理,那么我建议您查看此内容 (https://msdn.microsoft.com/en-us/library/dfb3cx8s.aspx)。
您的 GlobalClass
在命名空间 ProiectSera.App_Code
中。
所以 class 名字是 ProiectSera.App_Code.GlobalClass
确保在 ProiectSera
命名空间中也没有 ProiectSera
class,否则如果在顶部声明 using ProiectSera
,它将尝试使用它(作为一般规则,不要命名任何 class 与您的命名空间相同)。
如果仍然无效,您可能想尝试使用 global
命名空间:
global::ProiectSera.GlobalClass.Update(ValRefTempSol.Text, ValRefTempAer.Text);
看看是否有效:如果无效,并且 GlobalClass
在同一个项目中,则还有其他内容您没有向我们展示
更新
唯一想到的另一件事是,如果您确定两个文件都在同一个 project/assembly 上,那么 GlobalClass.cs
并没有被实际编译。确保 Build Action
设置为 Compile
(您可以在解决方案资源管理器中右键单击 GlobalClass.cs
并选择 Properties
来查看构建操作)。
如果您正在使用 VS.NET:
- 右键单击项目中的“引用”文件夹。
- Select 添加引用。
- Select .NET 选项卡(如果不是 .NET Framework 程序集,则 select 浏览按钮)。
- 双击错误消息中包含命名空间的程序集。
- 按确定按钮。