Ошибка с Slb.License при регистрации модуля
У меня есть проект, который ссылается на Slb.License для лицензирования Ocean2010. Я строю против Буревестника 2010.1.
После того, как я установил свой плагин на машине с>Petrel 2010.1 (2010.2.2), я использую registermodule.exe для регистрации своих модулей. Все модули регистрируются правильно, кроме лицензионного модуля, который имеет ссылки на Slb.License.
RegisterModule.exe выдает мне ошибку: "Указанный модуль не может быть загружен. Причина: не удалось загрузить файл или сборку" Slb.License, версия =2009.1.4.32700, культура = нейтральная, PublicKeyToken=05cb3974809 3345b'или одна из его зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)"
Версия в сообщении об ошибке, 2009.1.4.32700, является версией Slb.License, которая поставляется вместе с Petrel 2010.1, которую я создаю. Версия Slb.License, которая поставляется вместе с Petrel 2010.2.2, - это 2010.1.5.21635.
Какие-нибудь мысли? Если я вручную добавлю свой лицензионный модуль в Petrel.exe.config, мой плагин загружается правильно и работает правильно. Его RegisterModule.exe, с которым у меня есть проблемы.
Благодарю.
РЕДАКТИРОВАТЬ
Это работало в предыдущей сборке, но не уверен, как именно.
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, который игнорирует любую ошибку и регистрирует ваш модуль.