gpt4 book ai didi

.net - GAC 和程序集版本控制

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

很难说出这里问的是什么。这个问题是模棱两可的、模糊的、不完整的、过于宽泛的或修辞的,无法以目前的形式得到合理的回答。如需帮助澄清这个问题以便重新打开它,visit the help center .




10年前关闭。




我必须向 GAC 部署一些程序集。我对(我的)对 GAC 的理解有几个问题。真的让我很困惑。

我想知道哪些版本要更改程序集和文件版本。通过安装应用程序替换 GAC dll 的可能组合有哪些? GAC文件的基本管理。

我将使用以下示例解释我的问题,以便更好地理解 GAC:

假设我有产品 A 和 B 。

A 和 B 都引用安装在 GAC 中的 myfile.dll。
(i) 程序集版本:[1.0.0.0]
(ii) 程序集文件版本:[2.0.0.0](故意不同以避免更多混淆)

  • 假设我有一个应用在 myfile.dll 中的错误修复。
    那我应该改哪个版本?
  • 假设我有新版本的 A 说“ANEW”。那么应该更改哪个版本,以便
    A、B ANEW 都可以并排放置。
  • 假设如果我在 GAC 中安装了带有 myfile.dll 的“A”,现在我尝试安装
    'B' 具有带有错误修复的 gac dll ..然后要更改哪些版本,以便更改反射(reflect)在 'A' 中。
  • 与 Q3 相同,但 B 的变化不应反射(reflect)在“A”中。
  • 假设“A”与 myfile(1.0.0.0) 一起安装。现在假设'B'正在安装
    myfile(1.x.y.z).. 会替换 GAC 文件吗?
  • 假设“A”与 myfile(1.0.0.0) 一起安装。现在假设'B'正在安装
    myfile(2.x.y.z).. 会替换 GAC 文件吗?
  • 假设“A”与 myfile (1.0.0.0) 一起安装。现在假设'B'正在安装
    myfile(1.0.0.0) 假设版本没有改变.. GAC 文件会被替换吗?
  • 此外,GAC dll 是如何被删除的。是否有任何删除标准?

  • 我想问题有点令人困惑,但希望你们知道我在问什么。

    PS:与本主题相关的 net-assembly-dll-sharing-and-deploying

    最佳答案

    1)取决于您为修复错误所做的更改。如果您更改任何公共(public)接口(interface)或对行为进行重大更改,我会增加程序集版本号。如果没有,您可以执行 Microsoft 对文件的唯一版本的操作。

    2) 汇编版本是 GAC 关心的全部。因此,如果您希望两个同名程序集并排存在,它们必须因程序集版本而异。

    3)我可能会更改程序集版本号,并包含发布者策略以将旧版本的客户端重定向到新版本。

    4) 同 3 但不包括发布者策略,或配置 A 绕过它。

    5) & 6) 不,它是并排安装的。

    7)我不这么认为,但这可能取决于它们的文件版本是否不同。我相信您可以尝试验证。

    8) 有一些引用资料可用于防止意外移除。 MSI 使用它,因此如果您使用 MSI 进行安装,它会跟踪对程序集的引用,并且在卸载所有应用程序之前不会将其删除。如果您手动执行(例如使用 Gacutil/uf),您可能会搞砸。

    关于.net - GAC 和程序集版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1915788/

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