【问题标题】:Error 2908 when installing assemblies into GAC将程序集安装到 GAC 时出现错误 2908
【发布时间】:2023-07-19 07:45:02
【问题描述】:

您好,我在运行 MSI 包时收到 2908(0x80131047:给定的程序集名称或代码库无效)错误。

当 MSI 尝试将带有 .NET 程序集的组件部署到 GAC 中时,会出现此问题。注意:只有具有依赖关系的程序集才会失败。 MSI 是使用 IS 2010 创建的。

我可以使用 GACUTIL 手动部署程序集。我验证已安装 .NET Framework(所有版本高达 3,5)。我已验证程序集属性与 MsiAssemblyName 表属性相同。

但是,不知何故,我以前使安装工作正常。但是当产品迁移到 Visual Studio 2008 和 .NET 3.0 时,我开始面临问题。

你们对此有什么想法吗?任何想法表示赞赏。非常感谢!

【问题讨论】:

  • 您的程序集名称是否包含撇号?删除它。
  • 程序集的名称没有任何特殊符号。更重要的是,我什至试着把它改成我能想到的最简单的名字。没运气。非常感谢!

标签: assemblies windows-installer gac installshield


【解决方案1】:

听起来您已经涵盖了基础知识......安装了 CLR 版本,文件自己组件的关键文件,destdir 设置为 GAC,文件是强命名的,可通过 GACUTIL 部署。

嗯。什么都没有向我跳出来。调用 MsiPublishAssemblies 时,MSI 日志说明了什么?这些文件是否有伴随资源(需要属于同一个组件。)

【讨论】:

  • 我可以从日志中捕获的所有信息都是 - “0x80131047:给定的程序集名称或代码库无效”。我一直在浏览 inet 以查找此错误代码,但找不到任何值得尝试的新东西。好消息是我找到了解决方法!当我在全新的组件中执行此操作时,我可以安装该组件。组件是一样的!我一直在寻找差异,但到目前为止还没有结果。解决方法可能不够好,但我害怕在接近交货日期时遇到同样的问题。 :)) 非常感谢!
最近更新 更多