找不到命名空间

时间:2017-04-17 04:10:41

标签: c#

可以在同一个项目内的同一个文件中查看和编译,该文件名为default.aspx.cs。

但是,当我尝试使用using DBConnStrings将命名空间包含在同一项目的另一个文件中时;声明 - >我不断收到编译器错误“无法找到类型或命名空间名称'DBConnStrings'”。

编译为default.aspx.cs的文件中的代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;
using DBConnStrings;

namespace DBConnStrings
{
    public class GlobalStrings
    {
        public static string carSalesDBConnString = 
            ConfigurationManager.ConnectionStrings["ConnectionString2"].ToString();
    }
}

public void BindManu()
{
    SqlConnection conn = new 
    SqlConnection(GlobalStrings.carSalesDBConnString); // Connect to Carsales database 
    conn.Open();
    // .....
}

其他文件虽然位于同一个项目中,但无法看到此命名空间。

如何让他们看到它?

1 个答案:

答案 0 :(得分:1)

首先,我建议将方法BindManu放入类中,因为我无法想象这会像那样工作。

但问题是:您必须指定整个命名空间。这意味着,如果具有DBConnStrings命名空间的文件位于 test 文件夹中,则必须使用using test.DBConnStrings来导入命名空间。您应该像这样命名命名空间以避免混淆(namespace test.DBConnStrings)。

但实际上您不必指定整个路径,只需指定项目中的路径。这意味着,如果您的类位于 C:\ Users \ Foo \ Documents \ Visual Studio 2017 \ Projects \ BlaProject \ DirectoryA \ DirectoryB \ MyClass 中,项目位于 C:\ Users \ Foo \ Documents \ Visual Studio 2017 \ Projects \ BlaProject ,您的命名空间将是 BlaProject.DirectoryA.DirectoryB 。如果您使用的文件不在您的项目文件夹中,那么您必须添加一个引用并使用上面另一个项目中的路径(但显然有另一个项目名称)。如果要添加引用,请打开解决方案资源管理器,右键单击引用,选择添加引用,然后选择对项目的引用。

如果你不想挣扎,那么你可以让vs为你做。只需从其他命名空间键入您想要的类,它就会被标记为错误,单击灯泡并选择使用引用添加之类的内容。

此外,如果您想为项目添加一个类,请不要使用资源管理器 - 只需右键单击要在解决方案资源管理器中添加类的项目中的文件夹,选择添加,然后选择 New Item 。在弹出窗口中选择并输入您的类名称。而已!