检查包是否与 .net core 兼容

Check if package is compatible with .net core

我开始使用 .NET Core 和 ASP.NET Core 进行编程,在阅读了许多 Docs/Tutorials 之后,我仍然不确定如何实现 Nuget-(Meta-)Package 是否 comptabile/usable 在我的 .NET-Core-App 中。

  1. 如何检查 NuGet 包是否与 .NET Core 兼容。 例如。经常背诵的Newtonsoft JSON。是 compatible/usable - 如何查看?
  2. 是否有所有可用的 .NET Core 包的列表?

(Like here 它列出了一些

key NuGet packages for .NET Core

)。但是因为他们说这些是 "key" 个包,所以我认为还有更多。但是哪个?

https://packagesearch.azurewebsites.net

转到站点并搜索包以查找其兼容性

好吧,实际上您不必担心,当您在项目中 运行 执行 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 包版本。

希望它能回答您的问题。

也许这会有所帮助 - 许多流行的软件包 https://github.com/thangchung/awesome-dotnet-core

我也没有在任何地方看到 nuget.org,所以: https://nuget.org

我的一般经验法则是: 如果包依赖于 net standard 或 .net core,它将 运行 与 .net core(还要注意版本)

了解兼容性的最佳方式是tablehere

在此 table 中,您可以检查哪些 API 版本支持 NuGet 包。如果它是标准的 1.0+ - 它适用于 .Net Core

要检查(支持的 API 版本)对您的软件包的依赖性,您可以在 nuget.org 或您的软件包管理器中检查软件包页面

Here is an example for Rider