Ошибка при добавлении Extension в C#

4 комментария

c#

Иногда может появиться необходимость написать расширение к имеющимся классам. Например, мы пишем расширение для класса string. Делаем все по мануалу, создаем отдельный статический класс, в нем нужный статический метод расширения:

 

Затем пытаемся скомпилировать и…

error

видим сообщение «Missing compiler required member «System. Runtime. CompilerService. ExtensionAttribute..ctor»» (или «Отсутствует обязательный для компилятора член «System. Runtime. CompilerService. ExtensionAttribute..ctor»» в русской версии).

Как же так? Ведь в других проектах все работало, что же здесь стало не так?

Ответ кроется во внимательном рассмотрении выводимых строк при компиляции проекта (вкладка Output в VS). Оказывается, что:

«The predefined type ‘System. Runtime. CompilerService. ExtensionAttribute’ is defined in multiple assemblies in the global alias; using definition from …» и указывается некая библиотека, подключенная к проекту, в котором использовалась версия .NET 2.0…

Как стало хорошо!

Добавляем в код нашего класса вот такие строки:

компилируем и радуемся 

P.S. Решение проблемы подсказал великий stackoverflow.com .


4 комментария “Ошибка при добавлении Extension в C#”

  1. Огромное спасибо, помогло!!!

    Ответить
  2. Спасибо, выручило!

    Ответить
  3. Admin

    Всегда рады помочь http://noservice.ru/wp-content/plugins/wp-monalisa/icons/wpml_wink.gif

    Ответить

Оставьте комментарий

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url=""> <img src="" alt="" class="" width="" height="">

http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ab.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ac.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ag.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ah.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ai.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ak.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/am.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/an.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ao.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/aq.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ar.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/at.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/av.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/aw.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ay.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/az.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/bb.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/bc.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/bd.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/be.gif 
больше...