Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将.NET引用与命名空间匹配_C#_Asp.net_Reference - Fatal编程技术网

C# 将.NET引用与命名空间匹配

C# 将.NET引用与命名空间匹配,c#,asp.net,reference,C#,Asp.net,Reference,这似乎让我感到困惑——我正在创建一个类库,并为其中包含的源文件添加所有必要的引用 现在,突然有300多个编译器错误抱怨缺少名称空间。 在我刚刚添加了所有的系统参考之后,这个库现在可以编译了,但是这显然不是最好的方法 即,如果一个类需要使用System.Web.Script,没有System.Web.Scriptreference,我如何找出其中哪一个引用包含它System.Web没有。是的,命名空间和程序集是.NET中的两个不同概念。。。他们可以,但不需要共用一个共同的名字 最好的方法是检查MS

这似乎让我感到困惑——我正在创建一个类库,并为其中包含的源文件添加所有必要的引用

现在,突然有300多个编译器错误抱怨缺少名称空间。 在我刚刚添加了所有的系统参考之后,这个库现在可以编译了,但是这显然不是最好的方法


即,如果一个类需要
使用System.Web.Script
,没有
System.Web.Script
reference,我如何找出其中哪一个引用包含它
System.Web
没有。

是的,命名空间和程序集是.NET中的两个不同概念。。。他们可以,但不需要共用一个共同的名字


最好的方法是检查MSDN中缺少的类型(当文本光标位于缺少的类上方时,在Visual Studio中单击F1)。MSDN文档将告诉您该类型在哪个命名空间和哪个程序集中定义。

是的,命名空间和程序集是.NET中的两个不同概念。。。他们可以,但不需要共用一个共同的名字


最好的方法是检查MSDN中缺少的类型(当文本光标位于缺少的类上方时,在Visual Studio中单击F1)。MSDN文档将告诉您该类型是在哪个命名空间和哪个程序集中定义的。

好吧,编译器会抱怨缺少类,而不是缺少命名空间。您必须在MSDN上查找类,在那里您将找到相关的命名空间和程序集

例如DropDownList

在顶部你可以阅读

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

嗯,编译器会抱怨缺少类,而不是缺少名称空间。您必须在MSDN上查找类,在那里您将找到相关的命名空间和程序集

例如DropDownList

在顶部你可以阅读

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

名称空间可以重新打开,以便多个程序集可以在一个名称空间中定义类

// AssemblyFoo.dll
namespace MyNamespace {
    class Bar {}
}

// AssemblyBaz.dll
namespace MyNamespace {
    class Qux {}
}
对于
MyNamespace.Bar
您需要参考
AssemblyFoo.dll
,对于
MyNamespace.Qux
您需要参考
AssemblyBaz.dll
。不能仅从名称空间推断所需的程序集

// AssemblyFoo.dll
namespace MyNamespace {
    class Bar {}
}

// AssemblyBaz.dll
namespace MyNamespace {
    class Qux {}
}

最好的方法是查找使用MSDN定义类的位置。

可以重新打开名称空间,以便多个程序集可以在一个名称空间中定义类

// AssemblyFoo.dll
namespace MyNamespace {
    class Bar {}
}

// AssemblyBaz.dll
namespace MyNamespace {
    class Qux {}
}
对于
MyNamespace.Bar
您需要参考
AssemblyFoo.dll
,对于
MyNamespace.Qux
您需要参考
AssemblyBaz.dll
。不能仅从名称空间推断所需的程序集

// AssemblyFoo.dll
namespace MyNamespace {
    class Bar {}
}

// AssemblyBaz.dll
namespace MyNamespace {
    class Qux {}
}

最好的方法是使用MSDN查找定义类的位置。

您还可以使用Visual Studio中的对象浏览器单击名称空间,它将显示程序集及其路径。只要程序集在GAC或VisualStudio中,否则您就可以在那里找到它


您还可以在对象浏览器的搜索框中键入“System.Web.Script”,它将找到名称空间,然后右键单击并说“转到定义”。它将带您到父级,即命名空间/程序集分组,您将看到它所在的.dll。

您还可以使用Visual Studio中的对象浏览器单击命名空间,它将显示程序集及其路径。只要程序集在GAC或VisualStudio中,否则您就可以在那里找到它

您还可以在对象浏览器的搜索框中键入“System.Web.Script”,它将找到名称空间,然后右键单击并说“转到定义”。它将带您到父级,父级是命名空间/程序集分组,您将看到它所在的.dll