Ошибка __ComObject

Автор Тема: Ошибка __ComObject  (Прочитано 7792 раз)

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

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

  • ADN OPEN
  • ***
  • Сообщений: 162
  • Карма: 6
Ошибка __ComObject
« : 18-01-2021, 07:46:51 »
Добрый день.
Давненько ничего не делал под Автокад.
Плагин работал под 2017 версию.
Понадобилось переделать под 2016 версию.
Скачал ObjectArh2016. Перебил все ссылки.
При компиляции пишет что
Серьезность   Код   Описание   Проект   Файл   Строка   Состояние подавления
Ошибка   CS0122   "__ComObject" недоступен из-за его уровня защиты. [...путь\obj\x64\Debug\Fakes\aacadi\f.csproj] ...путь\obj\x64\Debug\Fakes\aacadi\f.cs   6692   Активные

Удалял папку obj debug.
Доступ физически есть.

Никто не сталкивался с этим?

Может дело с пользователями в Windows?
Плагин создавался при одном имени компа, сейчас другое имя.

Спасибо



Отмечено как Решение RevitTormentor 18-01-2021, 12:39:18

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

  • Administrator
  • *****
  • Сообщений: 13898
  • Карма: 1790
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Ошибка __ComObject
« Ответ #1 : 18-01-2021, 10:24:47 »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • ***
  • Сообщений: 162
  • Карма: 6
Re: Ошибка __ComObject
« Ответ #2 : 18-01-2021, 12:42:28 »
Спасибо Александр.

в строке 6692 метод ToString().
Код - C# [Выбрать]
  1. /// <summary>Задает Заглушка __ComObject.ToString()</summary>
  2.         public override string ToString()
  3.         {
  4.             mqttf::Microsoft.QualityTools.Testing.Fakes.Stubs.IStubObserver ___observer
  5.                = ((mqttf::Microsoft.QualityTools.Testing.Fakes.Stubs.IStubObservable)this).InstanceObserver;
  6.             if ((object)___observer != (object)null)
  7.             {
  8.               mqttf::Microsoft.QualityTools.Testing.Fakes.FakesDelegates.Func<string> ___currentMethod = this.ToString;
  9.               ___observer.Enter(typeof(global::System.__ComObject), (global::System.Delegate)___currentMethod);
  10.             }
  11.             mqttf::Microsoft.QualityTools.Testing.Fakes.FakesDelegates.Func<string> ___sh = this.ToString01;
  12.             if ((object)___sh != (object)null)
  13.               return ___sh.Invoke();
  14.             else
  15.             {
  16.               if (this.___callBase)
  17.                 return base.ToString();
  18.               mqttf::Microsoft.QualityTools.Testing.Fakes.Stubs.IStubBehavior ___behavior
  19.                  = ((mqttf::Microsoft.QualityTools.Testing.Fakes.Stubs.IStub)this).InstanceBehavior;
  20.               return ___behavior.Result<global::Autodesk.AutoCAD.Interop.Fakes.StubAcadApplicationClass, string>(this, "ToString");
  21.             }
  22.         }

Вспомнил что я что-то там переопределял для ToString() или ещё чего то делал с этим методом  :)

Если правильно понял, то понял где искать ошибку. Видимо где то надо это своё "безобразие" подправить.

Ещё раз спасибо.