Я использую последнюю версию IKVM для «компиляции» файла Java .jar в .NET DLL. Все это работает нормально, и теперь я пытаюсь ссылаться на DLL в .NET 3.5 C#.IKVM и System.Core System.Runtime.CompilerServices.ExtensionAttribute
В моем проекте C# я создал статический класс «StringExtensions» с методом расширения в строке.
По какой-то причине это, похоже, работало вчера, но сегодня я получаю ошибку сборки на моем классе расширения (не знаю, как это работало вчера ...).
Missing compiler required member System.Runtime.CompilerServices.ExtensionAttribute..ctor
И предупреждает накопление, а также:
The predefined type 'System.Runtime.CompilerServices.ExtensionAttribute' is defined in multiple assemblies in the global alias; using definition from 'c:\TEMP\IKVM.Runtime.dll'
я обнаружил, что оба IKVM.Runtime.dll и System.Core.dll (3,5 версия) имеют один и тот же тип: «System.Runtime. CompilerServices.ExtensionAttribute "
Поскольку пространство имен такое же, как я могу получить это для компиляции с версией ExtensionAttribute System.Core (или как я могу это исправить)?
Благодаря
Я получил вокруг этого, чтобы избавиться от всех моих методов расширения, но я все еще любопытно. Похоже, присутствие IKVM.Runtime.dll в любом проекте вызовет проблемы с методами расширения. –