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

时间:2008-12-11 14:30:51

标签: .net dll installer windows-installer installation

“程序集[AssemblyName]必须具有要全局安装的共享名称”

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

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

4 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:1)

你确定它不是'强名'吗?在将它们安装到gac中之前,您必须对程序集进行签名(请参阅vs.net中的项目属性)。

虽然一般情况下不应在GAC中安装程序集。 MS建议仅安装许多应用程序(例如控制库)用于安装在GAC中的组件dll。通常,应该将已使用的程序集保留在应用程序本身的本地,以便可以进行xcopy部署(因为应用程序无需正确安装GAC)

答案 2 :(得分:0)

这是正确的,你需要用strong name签署你的程序集。

答案 3 :(得分:0)

我想说,如果我有一个应用程序,如果这个应用程序使用另一个应用程序,如devexpress组件,这个cmponent总是有一个assambly我该怎么办。 但最后我用GAC实用程序解决了这个问题,我也看到如果我们将这个dll复制到GAC的共享文件夹中,它总是同意这个问题

Sory因为当时不在我的长时间之上。

全部谢谢