找不到类型或命名空间(您是否缺少using指令或程序集引用?)

我尝试编译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(); } } } 

错误在哪里? 我究竟做错了什么?

您没有Login类所在的命名空间作为参考。

将以下内容添加到使用Login类的表单:

 using FootballLeagueSystem; 

如果要在另一个命名空间中使用类,则必须告诉编译器在哪里找到它。 在这种情况下, Login位于FootballLeagueSystem命名空间内,或者: FootballLeagueSystem.Login完全限定的命名空间

正如评论者指出的那样,你在FootballLeagueSystem命名空间中声明了Login类,但是你在FootballLeague命名空间中使用它。

当我的项目.net框架版本与我链接的DLL的框架版本不匹配时,我收到此错误。 就我而言,我得到了:

“无法找到类型或命名空间名称’UserVoice’(您是否缺少using指令或程序集引用?)。

UserVoice是.Net 4.0,我的项目属性设置为“.Net 4.0 Client Profile”。 在项目上更改为.Net 4.0可以清除错误。 我希望这可以帮助别人。

您需要添加以下行:

 using FootballLeagueSystem; 

进入使用Login所有类(MainMenu.cs,programme.cs等)。

目前编译器找不到Login类。

如果您在项目中的单独文件夹中登录,请确保您使用它的位置:

using FootballLeagueSystem.[Whatever folder you are using]

这个错误来了,因为编译不知道在哪里找到类..所以它主要发生在你复制或导入项目时..解决这个问题.1。将formname.cs和formname.designer.cs中的命名空间更改为您的项目名称。