检查软件包是否与 .NET Core 兼容。

9
我开始使用.NET Core和ASP.NET Core进行编程,阅读了许多文档/教程后,仍然不确定如何确定Nuget-(Meta-)包是否与我的.NET-Core-App兼容/可用。
  1. 如何检查NuGet-Package是否与.NET Core兼容。 例如常被提及的Newtonsoft JSON。它是否兼容/可用 - 如何查看?
  2. 是否有所有可用.NET Core包的列表?
(就像这里列出了一些

关键的.NET Core NuGet包

)。但是既然它们说这些是"key"包,我会认为还有更多。但是哪些?

4个回答

3

理解兼容性最好的方法是查看此处的表格。

在这个表格中,您可以查看 NuGet 包所支持的 API 版本。如果是标准 1.0+ 的话,它可以与 .Net Core 兼容。

要检查您的包依赖项所支持的 API 版本,您可以在 nuget.org 上或者您的程序包管理器中查看程序包页面。

这里有一个 Rider 的示例


0

第一个链接在寻找软件包方面并不是很有帮助。NuGet.org可能会有所帮助,但解释其信息并不明显。更方便的选择应该是FuGet.org,https://www.fuget.org/。 - Lex Li

0

1
不错的链接,但好像找不到所有内容。例如,寻找RestSharp时找不到它,但在NuGet中调查后发现有一个RestSharp.NetCore。 - Ricardo stands with Ukraine
3
似乎找不到适合我的包裹。遗憾。 - herostwist
同样的问题。找不到很多软件包。 - Kiksen
找不到任何软件包。 - Dockstar
这个答案可能需要修订,以声明它在2016年是正确的。在接下来的几年里发生了太多的变化,因此不再是正确的答案。 - Lex Li

-1

实际上,您不必担心,当您在项目中运行dotnet restore命令时,NET Core应用程序将指示您包是否兼容。

假设您在csproj文件中注册了著名的CSVHelper包:

<PackageReference Include="CsvHelper" Version="0.12.0"/>

然后,当您运行任何dotnet命令(如buildrun)时,如果存在跨平台兼容性问题,则控制台将显示以下输入:

YourProjet/aspnetapp.csproj : warning NU1701: Package 'CsvHelper 0.12.0' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework '.NETCoreApp,Version=v2.2'. This package may not be fully compatible with your project.

基本上,这意味着NET Core应用程序可以使用ASP.NET NuGet包,到目前为止,我从未遇到过不兼容的包。即使版本不正确,构建也会获取与NuGet包最新匹配的版本。
希望这回答了你的问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接