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