18

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

    }
}

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

4

5 回答 5

39

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

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

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

于 2013-12-21T15:59:51.670 回答
22

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

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

using FootballLeagueSystem;

当你想在另一个命名空间中使用一个类时,你必须告诉编译器在哪里可以找到它。在这种情况下,Loginis 在FootballLeagueSystem命名空间内,或者 :FootballLeagueSystem.Login完全限定的命名空间

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

于 2010-04-27T13:03:58.200 回答
4

您需要添加以下行:

using FootballLeagueSystem;

进入您所有使用Login.

目前编译器找不到Login该类。

于 2010-04-27T13:03:54.377 回答
0

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

using FootballLeagueSystem.[Whatever folder you are using]

于 2012-07-27T18:57:09.393 回答
0

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

于 2017-06-28T06:18:46.707 回答