代码之家  ›  专栏  ›  技术社区  ›  brien

在Visual Studio安装项目中将DLL部署到GAC时出现问题

  •  3
  • brien  · 技术社区  · 16 年前

    “程序集[assembly name]必须具有共享名才能全局安装”

    尝试将应用程序的某些组件DLL部署到全局程序集缓存时,收到此错误消息。

    什么是共享名?如何确保我的DLL有一个?

    4 回复  |  直到 15 年前
        1
  •  5
  •   Kevin Gorski    16 年前

    “共享名”必须是“的同义词” strong name “这就是我一直读/听到的名字。该链接显示了如何使用强名称对程序集进行签名,以便将其添加到GAC中。

        2
  •  1
  •   Frans Bouma    16 年前

    你确定这不是“强名称”吗?在GAC中安装程序集之前,必须对它们进行签名(请参见vs.net中的项目属性)。

    虽然总的来说,程序集不应该安装在GAC中。MS建议仅安装组件DLL,许多应用程序(如控制库)使用这些组件DLL安装在GAC中。一般来说,应该将使用的程序集保持在应用程序本身的本地,这样Xcopy部署就成为可能(因为应用程序正常运行不需要GAC安装)。

        3
  •  0
  •   dewelloper    16 年前

    我想说,如果我有一个应用程序,如果这个应用程序使用另一个应用程序,如devexpress组件,而这个cmponet总是有一个攻击者,我能做什么。 但最后我用一个GAC实用程序解决了这个问题。我还发现,如果我们把这个DLL复制到GAC的共享文件夹中,它也总是与这个ISSURE一致的。

    为上面的悲伤,因为它在我的时间是远离我的长时间。

    谢谢大家

        4
  •  0
  •   splattne    15 年前

    是的,您需要在程序集上签名 strong name .

    推荐文章