2

我目前遇到一个问题,当我尝试更新现有 DLL 时,如果我使用数据库的位置更新它,那么我会返回以下错误:

错误代码: 2147204725

消息: 插件程序集不包含所需的类型或程序集内容无法更新

但是,如果我尝试使用磁盘位置选项,则会收到不同的错误消息:

错误代码: 2147220906

消息:程序集必须单独注册。

然而我不明白为什么会这样。目前我已经尝试了以下方法:

  • 确保我是部署经理(我没有部署到沙箱,因为我正在尝试更新服务器上现有的沙箱。)

  • 一位能够更新插件的同事已将他检查过的 DLL 发送给我,以确保问题不是 DLL

  • 我曾尝试在同事计算机上使用插件工具,以确保版本不是问题 - 但它仍然对我不起作用。

  • 同事尝试在我的机器上使用插件工具。但是,当他们这样做时,他们会遇到与我相同的错误(尽管在他们的机器上它对他们来说很好,但对我自己却不行)

有没有人对我的问题以及为什么我似乎无法更新机器上的插件有任何建议?

谢谢

4

1 回答 1

4

您收到的错误2147204725可能会在您的插件中的类名更改时发生。

例如,您的插件可能第一次使用名为PluginClassName1的类注册,然后在类PluginClassName1更改为PluginClassName2后第二次注册(更新) 。在这种情况下,插件类型,即实现的插件类IPlugin,不会在已注册的程序集中检索到。

其他原因可能是更改原始程序集元数据(文化、PublicKeyToken、名称、版本)或签名密钥。

要解决由此产生的问题,您应该取消注册程序集,然后再次重新注册重新添加相关的步骤/图像

于 2013-05-01T18:04:47.863 回答