我只是想知道 - 如果我需要将一个程序集部署到GAC中,那么“官方”的方式是什么?
目前我们要么手动拖放到c:\ windows \ assembly文件夹中,要么使用gacutil.exe。第一种方式显然不是好方法(毕竟是手动过程),gacutil是SDK的一部分,在生产服务器上默认不可用。
是否有任何Microsoft部署指南?
答案 0 :(得分:8)
到目前为止,最简单的方法是使用安装项目。在那里,您只需将项目输出中的程序集添加到特殊的GAC文件夹中,安装程序就会将它们添加到GAC中。
答案 1 :(得分:1)
如果您没有使用现有的安装程序技术,那么“官方”方式是通过IAssemblyCache :: InstallAssembly本机API。但是可以在System.EnterpriseServices.Internal命名空间中找到托管替代方法。尽管名称如此,它实际上是标准装配中的公共类。
答案 2 :(得分:1)
试试这个:
示例托管GAC API Wrappers http://blogs.msdn.com/junfeng/articles/229649.aspx
答案 3 :(得分:0)
另一个选择是使用 InnoSetup 等工具。
答案 4 :(得分:0)
根据 Install Shield 的网站:
InstallShield 2011:微软 安装解决方案的选择 Visual Studio 2010应用程序
答案 5 :(得分:0)
我用来构建可自动化的安装程序的工具是Wix。我们为试用版,完整版以及我们必须管理的许多不同产品提供了不同的安装程序。 Wix能够为我们做出一切可管理的事情。 Wix的工作方式是您在Xml文件中描述所有内容。其中一个好处是您可以将XML保持在源代码控制之下。
以下是一些关于如何使用Wix将dll部署到GAC和本地的博客文章: