Не работает приведение прокси к типу

Автор Тема: Не работает приведение прокси к типу  (Прочитано 7977 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн МуренаАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 53
  • Карма: 0
Доброго всем здравия!
Возможно, мой вопрос покажется странным или , возможно, я вообще что то не то делаю, поскольку пробую .NET совсем недавно. Но в общем, возникла мысль создать свой домен и туда грузить нужные сборки. Но попытки пока не увенчались большим успехом, поскольку при создании прокси переходника Acad упорно не хочет переводить его к типу создаваемого в новом домене объекта.
 
Код - C# [Выбрать]
  1.         Type type = typeof(Class2);
  2.         var proxy = (Class2)newDomain.CreateInstanceAndUnwrap(type.Assembly.FullName, type.FullName);
  3.             //dynamic proxy = newDomain.CreateInstanceAndUnwrap(type.Assembly.FullName, type.FullName);
  4.  

В чём может быть причина?
« Последнее редактирование: 13-01-2019, 00:45:40 от Александр Ривилис »

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Почитайте эту тему - NetUnload в AutoCAD - и не забивайте себе голову

Оффлайн МуренаАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 53
  • Карма: 0
Спасибо, почитала.
Интересные попытки, интересно, с тех пор автор пытался ещё этим заниматься.
Кста, dom.SetDynamicBase() вроде не переопределяет базовый каталог , где CLR ищет сборки, это каталог для поиска динамически создаваемых сборок

Онлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Интересные попытки, интересно, с тех пор автор пытался ещё этим заниматься.
Это было бы бессмысленным занятием.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн МуренаАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 53
  • Карма: 0
Мне думалось работать в другом домене со своими классами, которые не используют среду автокада. Акад в этом случает тоже будет вести себя непредсказуемо? Бессмысленно пытаться с Вашей точки зрения?

Онлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Мне думалось работать в другом домене со своими классами, которые не используют среду автокада.
Зачем?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн МуренаАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 53
  • Карма: 0
Куча сборок, которые часто перебилживаются

Онлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Куча сборок, которые часто перебилживаются
Смысл в том, что вы собираетесь выгружать/загружать их в AutoCAD? Вы конечно можете экспериментировать, но не вижу в этом смысла. Последние 12 лет это пробовали делать неоднократно, но это ни у кого не получилось. В лучшем случае удавалось повторно загружать сборку (изменив её имя), но это может привезти к куче других проблем...
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн МуренаАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 53
  • Карма: 0
Вот ещё интересный момент из статьи по ссылке. В ответе Андрею написано " there are some global variables (cross domains)". Что это вообще такое, впервые слышу. Может подскажете, где можно ознакомиться?

Онлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Вот ещё интересный момент из статьи по ссылке. В ответе Андрею написано " there are some global variables (cross domains)". Что это вообще такое, впервые слышу. Может подскажете, где можно ознакомиться?
В данном случае я не знаю что именно автор имел в виду. В силу того, что часть сборок AutoCAD не managed, а mixed (т.е. часть кода в них native C++), возможно использование глобальных переменных. Ну а между AppDomain можно передавать данные вот так: http://csharp-slackers.blogspot.com/2008/09/pass-data-between-application-domains.html
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение