我一直在努力理解.NET Frameworks、.NET Core和.NET Standard之间的区别。从我所读的内容来看,.NET Standard是最基本的标准,使用.NET Standard编写的库应该与使用其他框架编写的代码兼容。
但我创建了一个使用.NETStandard 1.4的类库和一个使用.NET Framework 4.6.1的应用程序的解决方案,似乎应用程序无法使用该库。
无论应用程序在何处尝试使用类库中的类,我都会收到以下错误:
错误 CS0012:类型“IEnumerator<>”在未引用的程序集中定义。必须添加对程序集“System.Runtime,Version=4.0.20.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”的引用。
错误 CS0012:类型“Object”在未引用的程序集中定义。必须添加对程序集“System.Runtime,Version=4.0.20.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”的引用。
错误 CS1579:foreach语句无法在类型“HtmlMonkey.HtmlNodeCollection”上操作,因为“HtmlMonkey.HtmlNodeCollection”不包含公共定义的“GetEnumerator”。
有人能帮助我完善对这些库的理解,以便我的应用程序可以使用我的类库吗?
但我创建了一个使用.NETStandard 1.4的类库和一个使用.NET Framework 4.6.1的应用程序的解决方案,似乎应用程序无法使用该库。
无论应用程序在何处尝试使用类库中的类,我都会收到以下错误:
错误 CS0012:类型“IEnumerator<>”在未引用的程序集中定义。必须添加对程序集“System.Runtime,Version=4.0.20.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”的引用。
错误 CS0012:类型“Object”在未引用的程序集中定义。必须添加对程序集“System.Runtime,Version=4.0.20.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”的引用。
错误 CS1579:foreach语句无法在类型“HtmlMonkey.HtmlNodeCollection”上操作,因为“HtmlMonkey.HtmlNodeCollection”不包含公共定义的“GetEnumerator”。
有人能帮助我完善对这些库的理解,以便我的应用程序可以使用我的类库吗?
NETStandard.Library
NuGet 包也安装到了托管应用程序中?另一种选择是使用PackageReference
代替packages.config
(NuGet 安装选项,会影响第一次安装)- 这样引用将具有传递性。 - Martin Ullrichpackages.config
,这样会有帮助吗? - Lex Li