【问题标题】:"Official" Way to deploy Assemblies into the GAC?将程序集部署到 GAC 的“官方”方式?
【发布时间】:2009-06-09 08:36:37
【问题描述】:

我只是想知道 - 如果我需要将程序集部署到 GAC 中,“官方”的做法是什么?

目前我们要么手动拖放到 c:\windows\assembly 文件夹中,要么使用 gacutil.exe。第一种方法显然不是好方法(毕竟是手动过程),而且 gacutil 是 SDK 的一部分,默认情况下在生产服务器上不可用。

是否有任何 Microsoft 部署指南?

【问题讨论】:

    标签: .net deployment gac


    【解决方案1】:

    到目前为止,最简单的方法是使用安装项目。在那里,您只需将项目输出中的程序集添加到一个特殊的 GAC 文件夹中,安装程序就会为您将它们添加到 GAC 中。

    【讨论】:

    • 您能否提供详细信息 - 我正在考虑在自定义安装程序中使用一些 gacutil 命令行代码 - 这也是您所指的吗?
    • 不,请不要使用 GACUTIL 进行部署。 GACUTIL 是一个开发工具;不是部署工具。
    【解决方案2】:

    如果您不使用现有的安装程序技术,“官方”方式是通过 IAssemblyCache::InstallAssembly 原生 API。但是可以在 System.EnterpriseServices.Internal 命名空间中找到托管替代方案。尽管名称如此,它实际上是标准程序集中的公共类。

    Publish.GacInstall

    【讨论】:

      【解决方案3】:

      试试这个:

      托管 GAC API 包装器示例 http://blogs.msdn.com/junfeng/articles/229649.aspx

      【讨论】:

        【解决方案4】:

        另一种选择是使用 InnoSetup 之类的工具。

        【讨论】:

          【解决方案5】:

          根据Install Shield的网站:

          InstallShield 2011:微软的 首选的安装解决方案 Visual Studio 2010 应用程序

          • 检索于 2011 年 2 月 12 日

          【讨论】:

            【解决方案6】:

            我用来构建可自动化安装程序的工具是Wix。对于试用版、完整版以及我们必须管理的许多不同产品,我们有不同的安装程序。 Wix 能够让我们轻松管理所有这些。 Wix 的工作方式是您在 Xml 文件中描述所有内容。好处之一是您可以将 XML 置于源代码控制之下。

            这里有一些关于如何使用 Wix 将 dll 部署到 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
              相关资源
              最近更新 更多