AssemblyLoadException в пострезком, проблеме с аргументами от DLLs, на который ссылаются?

Я только начинаю с пострезким / AOP. Я хочу сделать некоторый инструментарий для C# для отслеживания использования некоторых дополнений, которые я пишу для части программного обеспечения.

Я пытаюсь использовать класс OnMethodBoundaryAspect для принятия во внимание значений некоторых параметров, когда метод называют. Те параметры являются типами, на которые ссылаются во внешнем DLL.

Когда я добавлю свой атрибут к методу, проект не создаст, я получаю следующую ошибку

Ошибка 2 Необработанных исключения (2.0.5.1204, 64 бита, CLR 2.0, Выпуск): PostSharp. CodeModel. AssemblyLoadException: Ошибка при загрузке блока "C:\Program Files\Autodesk\Revit Structure 2011\Program\RevitAPI.dll": не Мог загрузить файл или блок 'revitapi, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' или одну из его зависимостей. Операция не поддерживается. (Исключение из HRESULT: 0x80131515)

REvitAPI.dll является файлом с типом в нем. Я также протестировал просто добавление атрибута к проекту, но не применение его к любым методам, это также вызывает ошибку. Таким образом, это появляется не связанный с параметром метода, вводит себя, но просто существование этого DLL.

Кто-либо столкнулся с этой проблемой прежде, или кто-либо может указать на меня в правильном направлении того, где получить еще некоторую информацию об этом?

7
задан RodH257 2 June 2010 в 03:08
поделиться

1 ответ

Это известная проблема с зависимостями C ++.

Причина в том, что RevitAPI.dll не является чистым MSIL, поэтому он не может быть загружен собственным (более быстрым) хостом.

Временное решение - пометить эту сборку как «игнорируемую». Вы можете сделать это, отредактировав csproj и добавив:

<PropertyGroup>
  <PostSharpProperties>IgnoredAssemblies=RevitAPI</PostSharpProperties>
</PropertyGroup>

Если это не сработает (поскольку PostSharp не может игнорировать сборку), вы должны заставить PostSharp использовать управляемый (более медленный) хост:

<PropertyGroup>
  <PostSharpHost>Managed</PostSharpHost>
</PropertyGroup>
9
ответ дан 7 December 2019 в 03:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: