gpt4 book ai didi

.Net Assembly/dll 共享和部署

转载 作者:行者123 更新时间:2023-12-01 02:58:33 25 4
gpt4 key购买 nike

我们有 3 个使用相同 .net dll(代码 + 旧版)的软件产品。
所有这些都使用跨 3/4 dll 的通用功能。

我想知道如何以及在哪里部署这些 dll。
这是最标准的方法。

S1] 连同其安装目录中的每个产品——可能是最简单的方法。
(但如果要在共享 dll 中发生任何更新 .. 它必须对所有 3 个 dll 进行。)

S2]放在普通文件夹里?

S3] 系统 GAC 对此有帮助吗?
(将所有 3 个放在 GAC 中,代码是共享的。但我担心版本控制?)

此外,如何为此类项目构建可部署的设置:

D1]在一个设置中打包所有 dll。每个设置都有自己的副本。
但是假设如果有人安装了软件 A,那么对于软件 B,共享文件已经存在于系统中。

D2]在单独的设置中部署公共(public)文件并打包每个文件。尝试检测文件是否已经存在,如果是,则不要部署。(这仍然无助于设置大小)
公共(public)文件夹 - 它应该是 GAC 还是系统上的某个文件夹?
涉及复杂的设置,因为它需要检查不同共享文件的版本。

还假设如果要发布新版本的软件并且它必须与旧版本共存..
如何保持跨多个版本的兼容性?

最佳答案

S1 + D1 当然。关于“如果有任何更新......”:这是一个好处而不是一个问题。如果您更改程序集,您将不得不重建正在使用的项目。 S1 场景允许您逐个项目地执行该操作,它们之间没有不必要的依赖关系。

不要将 GAC 用于小型库,这很麻烦。

关于.Net Assembly/dll 共享和部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1900708/

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