【问题标题】:Can An Assembly Be Installed In The GAC but not Show Up In Gacutil.exe?程序集可以安装在 GAC 中但不显示在 Gacutil.exe 中吗?
【发布时间】:2010-04-01 15:04:06
【问题描述】:

我有一个应用程序,其中一些程序集在部署时被复制到 C:\Windows\assembly,假设这会将它们安装在 GAC 中。该应用程序似乎可以工作,但是当我在复制的程序集上运行 gacutil.exe 时,它​​说全局程序集缓存包含 0 个程序集。

c:\Windows\assembly 中的所有程序集都应该显示在 gacutil 中吗?如果不是,为什么不呢?如何验证程序集是否确实安装在 GAC 中?

我过去一直使用 gacutil.exe 来注册程序集,因此复制文件对我来说是新事物,我正在尝试了解其后果。

【问题讨论】:

  • 运行 gacutil -l 应该理想地显示 GAC 中的所有程序集。我不太确定执行文件复制不会将程序集安装到 GAC,而只是将程序集复制到 C:\Windows\assembly。应用程序是否正常工作,因为应用程序目录中有所需程序集的副本?

标签: gac


【解决方案1】:

令人惊讶的是,但这会滥用 GAC 的内部运作方式,因此请不要这样做。

【讨论】:

    【解决方案2】:

    是的。 通过添加相应的 REGISTRY KEYS 可以在系统中注册程序集。

    同时,程序集不一定要位于 GAC 文件夹中。 gacutil 会显示放置在 GAC 文件夹中的程序集文件。

    这就是为什么建议仅当程序集在系统中注册时才部署到 GAC。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多