注册模块时,Slb.License出错

时间:2011-12-19 20:44:37

标签: ocean petrel

我有一个项目引用了Oceanb10许可的Slb.License。我正在建立反对Petrel 2010.1。

在运行> Petrel 2010.1(2010.2.2)的计算机上安装插件后,我使用registermodule.exe注册我的模块。除了引用了Slb.License的许可模块外,所有模块都正确注册。

RegisterModule.exe给我一个错误: “无法加载指定的模块。原因:无法加载文件或程序集” Slb.License,Version = 2009.1.4.32700,Culture = neutral,PublicKeyToken = 05cb3974809 3345b'或其依赖项之一。定位程序集的清单定义可以 es与装配参考不匹配。 (来自HRESULT的异常:0x80131040)“

错误中的版本2009.1.4.32700是与我正在构建的Petrel 2010.1一起打包的Slb.License的版本。随Petrel 2010.2.2打包的Slb.License版本为2010.1.5.21635。

有什么想法?如果我手动将我的许可证模块添加到Petrel.exe.config,我的插件正确加载并正常工作。它的RegisterModule.exe我遇到了问题。

感谢。

修改
这在以前的版本中工作,但不确定究竟是如何。

1 个答案:

答案 0 :(得分:1)

您可以查看:
- RegisterModule使用petrel.exe.config来获取绑定重定向。你应该看到

<assemblyIdentity name="Slb.License" publicKeyToken="05cb39748093345b" culture="neutral" />
     <bindingRedirect oldVersion="2009.1.4.32700-2010.1.4.63024" newVersion="2010.1.5.21635" />

有 - 确保Petrel区域中只有1个Slb.License.dll副本

作为一种解决方法,您可以使用/ f选项忽略任何错误并注册您的模块。