Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: RevitTormentor от 18-01-2021, 07:46:51

Название: Ошибка __ComObject
Отправлено: RevitTormentor от 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?
Плагин создавался при одном имени компа, сейчас другое имя.

Спасибо


Название: Re: Ошибка __ComObject
Отправлено: Александр Ривилис от 18-01-2021, 10:24:47
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/cs0122
Что в строке 6692 файла f.cs?
Название: Re: Ошибка __ComObject
Отправлено: RevitTormentor от 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() или ещё чего то делал с этим методом  :)

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

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