提问人:Leo 提问时间:4/27/2010 最后编辑:Tomas AschanLeo 更新时间:6/28/2017 访问量:190772
找不到类型或命名空间(是否缺少 using 指令或程序集引用?
The type or namespace cannot be found (are you missing a using directive or an assembly reference?)
问:
尝试编译 C# 程序时出现以下错误:
The type or namespace name 'Login' could not be found (are you missing a using directive or an assembly reference?)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace FootballLeague
{
public partial class MainMenu : Form
{
FootballLeagueDatabase footballLeagueDatabase;
Game game;
Team team;
Login login; //Error here
public MainMenu()
{
InitializeComponent();
changePanel(1);
}
public MainMenu(FootballLeagueDatabase footballLeagueDatabaseIn)
{
InitializeComponent();
footballLeagueDatabase = footballLeagueDatabaseIn;
}
private void Form_Loaded(object sender, EventArgs e)
{
}
private void gameButton_Click(object sender, EventArgs e)
{
int option = 0;
changePanel(option);
}
private void scoreboardButton_Click(object sender, EventArgs e)
{
int option = 1;
changePanel(option);
}
private void changePanel(int optionIn)
{
gamePanel.Hide();
scoreboardPanel.Hide();
string title = "Football League System";
switch (optionIn)
{
case 0:
gamePanel.Show();
this.Text = title + " - Game Menu";
break;
case 1:
scoreboardPanel.Show();
this.Text = title + " - Display Menu";
break;
}
}
private void logoutButton_Click(object sender, EventArgs e)
{
login = new Login();
login.Show();
this.Hide();
}
Login.cs
类:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace FootballLeagueSystem
{
public partial class Login : Form
{
MainMenu menu;
public Login()
{
InitializeComponent();
}
private void administratorLoginButton_Click(object sender, EventArgs e)
{
string username1 = "08247739";
string password1 = "08247739";
if ((userNameTxt.Text.Length) == 0)
MessageBox.Show("Please enter your username!");
else if ((passwordTxt.Text.Length) == 0)
MessageBox.Show("Please enter your password!");
else if (userNameTxt.Text.Equals("") || passwordTxt.Text.Equals(""))
MessageBox.Show("Invalid Username or Password!");
else
{
if (this.userNameTxt.Text == username1 && this.passwordTxt.Text == password1)
MessageBox.Show("Welcome Administrator!", "Administrator Login");
menu = new MainMenu();
menu.Show();
this.Hide();
}
}
private void managerLoginButton_Click(object sender, EventArgs e)
{
{
string username2 = "1111";
string password2 = "1111";
if ((userNameTxt.Text.Length) == 0)
MessageBox.Show("Please enter your username!");
else if ((passwordTxt.Text.Length) == 0)
MessageBox.Show("Please enter your password!");
else if (userNameTxt.Text.Equals("") && passwordTxt.Text.Equals(""))
MessageBox.Show("Invalid Username or Password!");
else
{
if (this.userNameTxt.Text == username2 && this.passwordTxt.Text == password2)
MessageBox.Show("Welcome Manager!", "Manager Login");
menu = new MainMenu();
menu.Show();
this.Hide();
}
}
}
private void cancelButton_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
错误在哪里?我做错了什么?
答:
您需要添加以下行:
using FootballLeagueSystem;
添加到.cs.cs所有使用 .Login
目前,编译器找不到该类。Login
评论
您没有 Login 类所在的命名空间作为引用。
将以下内容添加到使用该类的窗体中:Login
using FootballLeagueSystem;
当您想在另一个命名空间中使用某个类时,您必须告诉编译器在哪里可以找到它。在本例中,is 在命名空间内,或者 : 是完全限定的命名空间。Login
FootballLeagueSystem
FootballLeagueSystem.Login
正如评论者所指出的,您在命名空间中声明了 Login 类,但您在命名空间中使用它。FootballLeagueSystem
FootballLeague
评论
如果您在项目中的单独文件夹中拥有登录名,请确保在使用它时执行以下操作:
using FootballLeagueSystem.[Whatever folder you are using]
评论
当我的项目 .net 框架版本与我链接到的 DLL 的框架版本不匹配时,我会收到此错误。就我而言,我得到了:
“找不到类型或命名空间名称'UserVoice'(是否缺少 using 指令或程序集引用?
UserVoice 是 .Net 4.0,我的项目属性设置为“.Net 4.0 Client Profile”。在项目上更改为 .Net 4.0 清除了错误。我希望这对某人有所帮助。
评论
出现此错误是因为 compile 不知道在哪里可以找到该类。因此,它主要发生在复制或导入项目时。来解决这个问题.. 1.将 formName.cs 和 formName.Designer.cs 中的命名空间更改为项目的名称。
评论