gpt4 book ai didi

.net - 在多个 DLL 中拥有命名空间有什么影响?

转载 作者:行者123 更新时间:2023-12-04 07:12:09 26 4
gpt4 key购买 nike

我继承了一个生成 2 个 DLLS 的 VB.net 项目:一个用于 Web 应用程序,另一个用于“业务层”。这是针对较大网站的子应用程序。 (使用 VS2005)。

问题是 DLL 和命名空间结构有些不对劲,我想知道是否有任何性能影响。

主 Web 应用程序是“Foo”,并生成 Foo.dll。 Foo.dll 包含命名空间 App.Foo,其中包含所有页面、用户控件等的类。

还有一个生成 FooLib.dll 的项目“FooLib”。 FooLib.dll 还包含一个 App.Foo 命名空间,其中包含一堆类定义。还有一些其他的命名空间,如 App.Foo.Data、App.Foo.Logic 等。

这有什么问题吗?运行时如何跨多个 DLL 查找类?

最佳答案

当您的程序编译时,完整的类型名称与“证据”一起包含在内。该证据包括程序集名称和版本信息。否则它不知道您是否想要该类的 1.0 或 1.1 或 2.0 版本。这个相同的系统允许它在不同程序集中的相同命名空间中找到不同的类。

就性能而言,没有太大的影响。从好的方面来说,这意味着您的某些内容可以在不同的时间加载,这通常是您想要的效果。

命名空间是关于以一种易于查找的方式打包功能。程序集是关于以一种高效加载的方式打包功能。有时它们并不相同。

关于.net - 在多个 DLL 中拥有命名空间有什么影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/148790/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com