Не соответствует IEnumerable между mscorlib и netstandard? - PullRequest
2 голосов
/ 14 марта 2019

В многопроектном решении я конвертирую некоторые проекты из .NET Framework (4.6.2) в .NET Standard (2.0).У меня есть абстрактный класс в преобразованном проекте .NET Standard, который определяет (например)

Public MustOverride Function DoStuff(input As IEnumerable(Of Integer));

и реализацию в одном из не преобразованных проектов .NET Framework

Public Overrides Function DoStuff(input As IEnumerable(Of Integer))
{
    //Does stuff
}

После преобразования, У меня ошибка сборки

Функция 'DoStuff' не может быть объявлена ​​как 'Overrides', потому что она не переопределяет функцию в базовом классе.

В этом классе есть много переопределенных методов, из которых только те, которые имеют параметр IEnumerable, терпят неудачу.Visual Studio показывает мне, что определение IEnumerable для проекта .NET Standard находится в netstandard 2.0.0.0, а определение для проекта Framework - в mscorlib 4.0.0.0.Разве это не должно работать, так как .NET Framework 4.6.2 поддерживает .NET Standard 2.0?Есть ли способ, которым я могу гарантировать, что оба класса находят один и тот же IEnumerable?Я пытался ссылаться на NETStandard.Library в проекте Framework, но безрезультатно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...