在多项目解决方案中,我将某些项目从.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向我展示了.NET Standard项目的IEnumerable定义在netstandard 2.0.0.0中,而Framework项目的定义在mscorlib 4.0.0.0中。由于.NET Framework 4.6.2支持.NET Standard 2.0,这是否仍然有效?有没有一种方法可以确保两个类都找到相同的IEnumerable?我尝试在Framework项目中引用NETStandard.Library,但没有任何效果。