【问题标题】:What path should I pass as an AssemblyPath parameter to the Publish.GacRemove function?我应该将什么路径作为 AssemblyPath 参数传递给 Publish.GacRemove 函数?
【发布时间】:2008-09-05 12:58:57
【问题描述】:

我想使用 Publish.GacRemove 函数从 GAC 中删除程序集。但是,我不明白我应该通过什么路径作为参数。

它应该是原始 DLL 的路径(如果我在 GAC 中安装后将其删除怎么办?)还是 GAC 中程序集的路径?

更新:

我终于用these API wrappers了。

【问题讨论】:

    标签: .net gac


    【解决方案1】:

    我正在使用GacInstall 发布我的程序集,但是一旦安装到 gac 中,我有时会删除我的“临时”程序集副本。

    然后,如果我想从 gac 中卸载程序集,我在原始路径中没有文件。这导致了一个问题,因为除非我保留原始文件,否则我似乎无法获得 GacRemove 方法来卸载程序集。

    结论:是的,你需要指定原始DLL的路径。 (并尽量不要稍后移动/删除它)。如果您删除它,请尝试将文件从 GAC 复制到您的原始路径,您应该可以使用 GacRemove 将其卸载。

    【讨论】:

    • 所以我需要完全相同的 DLL(相同版本?相同版本?),对吧?
    • 是的,您需要相同的 DLL,但您可以将它从 GAC 复制到您的原始路径,它应该会被删除。与 gacremove
    【解决方案2】:

    我不太确定,但我相信 GacRemove 应该和 gacutil /u 做同样的事情。所以,它应该是你的 DLL 的路径。但是,它不必是同一个 DLL 文件。原件的副本就足够了,因为重要的是 DLL 的唯一 ID。

    【讨论】:

      猜你喜欢
      • 2021-12-02
      • 2021-04-13
      • 2015-09-24
      • 2012-06-23
      • 1970-01-01
      • 2018-12-26
      • 2013-01-25
      • 2014-08-12
      • 2013-01-27
      相关资源
      最近更新 更多