Mono.Cecil, отсутствует компилятор, требуется член 'System.Runtime.CompilerServices.ExtensionAttribute..ctor' - PullRequest
4 голосов
/ 04 декабря 2010

Я скачал последнюю версию Mono.Cecil, и теперь всякий раз, когда я запускаю свой проект, он выдает мне эту ошибку.Он исчезнет, ​​если я удалю и добавлю mono.cecil.Но это неприятно делать каждый раз, когда я открываю свой проект.

Ответы [ 3 ]

4 голосов
/ 04 декабря 2010

Эта проблема хорошо известна для всех проектов .NET 2.0, которые хотят использовать методы расширения внутри и поэтому объявляют свои собственные внутренние System.Runtime.CompilerServices.ExtensionAttribute, чтобы разрешить это.

Существуют различные способы решения этой проблемы, если вы используете .NET 3.5 или выше, просто скомпилируйте Mono.Cecil с определением NET_3_5 или NET_4_0. Если вы ориентируетесь на .NET 2, вам может повезти и заставить его скомпилировать (это зависит от некоторых внутренних компонентов компилятора, определенно не от командной строки csc или MSBuild). Если нет, то обходной путь будет исключать все вхождения этого атрибута (включая определение) из сборки Cecil 2.0 (с использованием самого Cecil ...).

Я уже сделал это , и это не имеет большого значения. Однако я чувствую, что ваша проблема другая, поэтому, пожалуйста, предоставьте немного больше информации о версии Mono и .NET, которые вы используете / нацеливаете.

2 голосов
/ 26 мая 2011

Я исправил эту ошибку, удалив ссылку "Mono.Cecil.dl" и "Mono.Reflection.dll" из моего проекта.

Эти два файла поставляются с db4o v8.0 (объектная база данных) и, по-видимому, не нужны для работы db4o в основном неоптимизированном режиме под Windows 7 x64 + .NET 4.0.

0 голосов
/ 19 июля 2012

У меня тоже такая же проблема.Ошибка System.Runtime.CompilerServices.ExtensionAttribute..ctor

Я использую Newtonsoft.Json.Net dll (ссылка) в моем проекте.Я удалил ссылку на файл Newtonsoft.Json.Net20.dll и заново его добавил.После этого мое решение строится снова.

Странно, но верно ... мое приложение строится успешно.

Ошибка при использовании методов расширения в C #

Спасибо

...