2009-05-07 3 views
49

При запуске сайта Asp.Net, использующего сборку, я получаю следующую ошибку при использовании сценариев dlr и Iron Python для скриптов.Незначительная ссылка для ExtensionAttribute при использовании Iron Python в Asp.Net

BC30560: «ExtensionAttribute» неоднозначно в пространстве имен «System.Runtime.CompilerServices».

Вопрос, кажется, известен и есть обходное решение в issue tracker.

Однако он говорит, что они ...

... надеюсь, что это временное решение не будет необходимости в следующем выпуске.

Последний выпуск (тот, который я использую) является более поздним выпуском, чем тот, который упоминается в отчете. Я также попробовал загрузить файл, содержащийся в трекере проблем, и заменить его в текущей версии, но это тоже не работает.

Есть ли решение для этого, кроме загрузки источника и выполнения сборки вручную?

+1

Связанный: http://stackoverflow.com/questions/11025100/escape-catch-22-with-extension-attributes-in-net-2-0 –

+0

Patrik, какая версия .net вы используете и какую версию железа python вы используете? –

ответ

1

Ошибка только, кажется, была закрыта из-за DLL, прикрепленных к отчету, поэтому я думаю, что ответ «нет, нет лучшего способа».

Я спросил об ошибке, почему она закрыта, если проблема все еще существует.

+0

Это закрыто, потому что мы просто не могли найти способ исправить проблему для VB. Если я правильно помню, обходным путем является поиск другого способа копирования этой дополнительной сборки в ваш выходной каталог. Проблема может возникнуть только при попытке ссылаться на нее. Кроме того, не все ли должны быть на .NET 4.0+ уже сейчас? ;) –

+0

К сожалению, я только что прочитал комментарии CodePlex, и теперь я помню больше. Обходной путь заключается в использовании DLL, прикрепленной к проблеме, а не той, которая поставляется с IronPython. Вместо того, чтобы содержать копию класса ExtensionAttribute, он перенаправляет тип на реальную сборку - это означает, что в случае использования этой версии все равно должна быть только одна копия класса. –