Форум НПФ  

Вернуться   Форум НПФ "ТОПОМАТИК" > Программные продукты "Топоматик Robur" на платформе "Robur AP3" > Средства разработки Топоматик Robur > Вопросы и ответы
Ник
Пароль
Регистрация FAQ Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12-17-2021, 11:48
Gontarski Gontarski вне форума
Пользователь
 
Регистрация: Mar 2013
Сообщения: 35
По умолчанию Разработка универсальных модулей Visual Studio

Добрый день!

Есть ли возможность разрабатывать модули на Visual Studio таким образом, что-бы они подгружались в Робур Rail, Робур Road и Робур Demo без необходимости перекомпиляции с переподключением библиотек этих продуктов (имеются в виду References в проекте Visual Studio)?

Я создал проект, аналогичный Вашему RopExample1, он прекрасно работает под Робур Demo, но не загружался под Робур Rail, пока я не переподключил соответствующую библиотеку Topomatic.ApplicationPlatform

Подозреваю, что с Робур Road будет то-же самое.
Ответить с цитированием
  #2  
Старый 12-17-2021, 16:14
Василий Гончаров Василий Гончаров вне форума
Разработчик Robur
 
Регистрация: Oct 2016
Сообщения: 154
По умолчанию

Добрый день!
Скорее всего при добавлении ссылки, Вы не проверили флаг SpecificVersion для подключаемой библиотеки. Вам необходимо поставить там значение False, это позволит Вам работать с разными версиями одной библиотеки.
Ответить с цитированием
  #3  
Старый 12-20-2021, 9:45
Gontarski Gontarski вне форума
Пользователь
 
Регистрация: Mar 2013
Сообщения: 35
По умолчанию

Добрый день!
Проверил еще раз. SpecificVersion = false

Возможно ли, что дело в разных версиях программ?

Робур Demo Сборка: 15.0.32.8 от 25.02.2020
Робур Rail Сборка: 15.0.30.6 от 28.03.2019

Однако я заметил, что:

1. если подключаю библиотеки из Робур Rail - то работает и в Робур Rail и в Робур Demo.
2. если подключаю библиотки из Робур Demo, то работает только в Робур Demo.
Ответить с цитированием
  #4  
Старый 12-20-2021, 15:06
Василий Гончаров Василий Гончаров вне форума
Разработчик Robur
 
Регистрация: Oct 2016
Сообщения: 154
По умолчанию

Добрый день!

Очень странно, должно работать и там и там. Библиотеки совместимы, и не зависят от версии. Если Вас не затруднит, отправьте нам Ваш пример на и оба набора библиотек на support@topomatic.ru, с пометкой для разработчиков, тогда мы сможем продиагностировать и понять в чём ошибка.
Ответить с цитированием
  #5  
Старый 12-21-2021, 9:06
Gontarski Gontarski вне форума
Пользователь
 
Регистрация: Mar 2013
Сообщения: 35
По умолчанию

Добрый день!

Переустановил Робур Demo и Робур Rail (дистрибутивы взял на support.topomatic.ru)

Ошибка повторяется. Отправил библиотеки Topomatic.ApplictionPlatform.dll и свои исходники вам по почте.
Ответить с цитированием
  #6  
Старый 12-21-2021, 15:10
Василий Гончаров Василий Гончаров вне форума
Разработчик Robur
 
Регистрация: Oct 2016
Сообщения: 154
По умолчанию

Добрый день!

Мы посмотрели присланные Вами файлы. Пока рекомендуем Вам проверить содержимое Вашего файла csproj, и убедится что секция Reference для Topomatic.ApplicationPlatform действительно содержит ключ <SpecificVersion>False</SpecificVersion>, и если это не так - то добавить его вручную. Кроме того, если возможно - пришлите нам содержимое файла Log.log, который находится по адресу C:\Users\<имя пользователя>\AppData\Roaming\Topomatic\Robur<версия робура>\16.0\Log.log. В нём должна быть записана ошибка, которая возникает у Вас, когда Ваш модуль не запускается.
Ответить с цитированием
  #7  
Старый 01-10-2022, 11:38
Gontarski Gontarski вне форума
Пользователь
 
Регистрация: Mar 2013
Сообщения: 35
По умолчанию

Добрый день!

Я проверил csproj - действительно не было ключа <SpecificVersion>False</SpecificVersion>, хотя в студии отображалось значение "False". Добавил этот ключ вручную и перекомпилировал проект, но ничего не изменилось - ошибка повторяется.
Я посмотрел по Вашему совету Log.log, вот что там записано:

Код:
10.01.2022 16:32:07 Addins objective assembly load exception "C:\Program Files\Topomatic Robur Rail 15.0\ClassLibrary1.dll" Невозможно загрузить файл или сборку "Topomatic.ApplicationPlatform, Version=15.0.32.8, Culture=neutral, PublicKeyToken=e252492115b01327" или один из зависимых от них компонентов. Найденное определение манифеста сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)
Ответить с цитированием
  #8  
Старый 01-12-2022, 9:18
Василий Гончаров Василий Гончаров вне форума
Разработчик Robur
 
Регистрация: Oct 2016
Сообщения: 154
По умолчанию

Добрый день!

Действительно, проблема заключается в версии библиотеки. Несмотря на то, что сами библиотеки одинаковы - поскольку версия у них разная - то необходимо собирать исходные файлы на более низкой версии или внести изменения в RbRail.exe.config в секцию assemblyBinding для более высоких версий. К сожалению, это ограничение накладывают наши средства разработки. Скорее всего в будущем мы перейдём на уникальную версионность для каждой библиотеки. В Вашем случае, лучше конечно собирать исходные файлы для релиза на более низкой версии. Если такой возможности нет, то при установке Вашего модуля необходимо дополнительно изменить файл RbRail.exe.config на более старой версии, например так:
Код:
... <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> ... <dependentAssembly> <assemblyIdentity name="Topomatic.ApplicationPlatform" publicKeyToken="e252492115b01327" culture="neutral"/> <bindingRedirect oldVersion="15.0.0.0-15.0.32.80" newVersion="15.0.30.6" /> </dependentAssembly> ... </assemblyBinding> </runtime> ...
Ответить с цитированием
  #9  
Старый 01-12-2022, 9:48
Gontarski Gontarski вне форума
Пользователь
 
Регистрация: Mar 2013
Сообщения: 35
По умолчанию

Добрый день!

Приму это к сведению, спасибо.
Ответить с цитированием
  #10  
Старый 01-12-2022, 9:55
Василий Гончаров Василий Гончаров вне форума
Разработчик Robur
 
Регистрация: Oct 2016
Сообщения: 154
По умолчанию

В будущем мы постараемся решить эту проблему, и скорее всего введём отдельную версионность для каждой библиотеки.
Ответить с цитированием
Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 3:44.

Навигация по основному сайту
Главная Каталог продуктов и услуг Где купить Сопровождение
Вакансии О компании Обзоры Канал на YouTube

vBulletin v3.0.7 , Copyright ©2000-2022, Jelsoft Enterprises Ltd.
Copyright © 2003-2022, НПФ "ТОПОМАТИК".