C# 找不到命名空间

C# 找不到命名空间,c#,C#,它可以在同一个项目中的同一个文件中查看和编译,该文件名为default.aspx.cs 但是,当我尝试使用using DBConnStrings将名称空间包含在同一项目的另一个文件中时;语句->我一直收到编译器错误“找不到类型或命名空间名称'DBConnStrings' 编译文件default.aspx.cs中的代码如下所示: using System; using System.Collections.Generic; using System.Linq; using System.Web;

它可以在同一个项目中的同一个文件中查看和编译,该文件名为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();
    // .....
}
其他文件虽然在同一项目中,但无法看到此命名空间


我如何让他们看到它?

首先,我建议将方法
BindManu
放入类中,因为我无法想象这样会起作用

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

但实际上不必指定整个路径,只需指定项目中的路径即可。这意味着,如果您的类位于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为你做吧。只需从另一个名称空间键入所需的类,它将被标记为错误,单击灯泡并选择类似AddUsingReference的内容


此外,如果要将类添加到项目中,请不要使用资源管理器,只需在解决方案资源管理器中右键单击项目中要将类添加到的文件夹,然后选择“添加”,再选择“新建项”。在弹出窗口中,选择类并键入类的名称。就这样

如何在类/命名空间之外添加方法?确保文件中没有任何语法错误-首先正确设置代码格式(ctrl+k,ctrl+d)。您的
BindManu
方法应该在类内部(将在命名空间内部)我真正想做的就是拥有一个全局字符串,这样我就可以从项目中的任何文件连接到数据库,所以我的想法是将它放在命名空间中的一个类中,并将该命名空间包含在项目的所有文件中。这节省了我大量的编码,是一种很好的编程实践。不幸的是,其他文件无法识别项目中另一个文件中的名称空间。如果您只回答问题,而不批评与此无关的内容,这将非常有帮助。我的BindManu方法工作得很好,并且已经在默认页面Rufus中的一个类中。请坚持只回答问题,不要回避。谢谢。我想你已经接近正确答案了。我将我的项目放在Visual Studio 2012\Projects\Carsales网站文件夹下,但是我的所有代码文件都放在C\Carsales网站文件夹中。是否必须指定完整路径,如C\CarSales网站.DBConnStrings?我的项目文件存在于以下目录中:Documents\Visual Studio 2012\Projects\CarSales网站。我的实际代码文件存在于以下目录中:C:\Carsales网站。那么,如果你能提供进一步的帮助,我需要做什么呢。谢谢