gpt4 book ai didi

ASP.NET 如何在 web.config 中添加程序集?

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

我在另一个项目 (projA) 中制作了一个程序集。现在我想在另一个项目(projB)中导入这个dll。我怎样才能实现这个目标?这是我尝试过的(在 projB 中)。

1 将 dll 放在与我的项目相同的目录中。 (bin 目录)

2 在 web.config 中:

<assemblies>
<add assembly="projA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>

这是我得到的错误:

无法加载文件或程序集“projA,Version=1.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。找到的程序集的 list 定义与程序集引用不匹配。 (HRESULT 异常:0x80131040)

编辑:

重点是最终必须动态添加程序集引用

编辑2:

程序集的名称(和命名空间)存储在数据库中。物理程序集 (dll) 添加(通过安装)到 projB 中。现在projB中的代码必须从数据库中读取程序集名称,然后添加对安装时添加的dll的引用。

最佳答案

projA 的所有依赖项都在 projB 中吗?通常,如果它们位于同一解决方案中,我只会将一个项目的引用添加到另一个项目。

编辑:

如果您想动态添加程序集,那么也许需要考虑服务引用。通过将 projA 的 DLL 转储到 bin 中,并不能真正提供它可能需要的所有 DLL,因此有一些方法可以将事物捆绑在一起,以便可以跨系统理解对象,例如使用 XML 的 Web 服务来给出一个常见的示例。

关于动态添加程序集的问题是您从哪里获取它以及该部分是否可以自动成为 projB 的一部分,因为这实际上是此类问题的通用解决方案。

编辑2:

如何获得 projA 的所有依赖项?是否有可能获得它,以便它不依赖于一堆其他 DLL,这些 DLL 可能位于也可能不位于要运行的系统上。这就是错误告诉您的,存在一些还需要的程序集 projC。请注意,如果使用了许多级别的依赖项,则程序集的添加可能会持续很长时间。

总结答案:为了将 projA 加载到某个新项目中,您需要引用什么?这就是你的问题,如果不知道依赖关系是什么样子,就很难直接回答。

关于ASP.NET 如何在 web.config 中添加程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1477462/

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