由于目标框架不匹配,Nuget 不会安装包

Nuget won't install package, due to a mismatch in the targeted framework

我有一个引用 python 包的 C# 项目。该项目于 2017 年 Visual Studio 开发,目标为 .NET 4.5.2。我现在正在更新项目,目标是 .NET 4.7.2。我还想将 python 包更新到更高版本(其中有 Python 3.9 而不是 Python 3.5)。

当我尝试更新包时。我收到一条错误消息,指出该包无法安装在以 .NET 4.7.2 为目标的项目中,因为它没有引用任何 .NET 4.7.2 程序集或内容。

所以很明显我不能在这个包中使用 .NET 4.7.2。问题是 - 我可以使用哪个版本的 .NET 与此包一起使用?如何判断 Nuget 包支持哪个 .NET 框架?

如果您开始前往 nuget.org 上的包裹页面,如您问题的评论中所述:https://www.nuget.org/packages/python/3.9.9

在右侧,有一个名为“在 NuGet 包资源管理器中打开”的 link,它将带您到此处:https://nuget.info/packages/python/3.9.9

这让您可以检查包裹的内容。

现在,您需要了解 NuGet 的工作原理,但在包中的 3 个顶级文件夹中,只有 build/ 符合 NuGet 约定。此处唯一的文件是 build/native/python.props,它匹配 NuGet's convention of build/{tfm}/{packageid}.[props|targets].

因此,此包仅与 native TFM 兼容,它是 C++ 项目,而不是 .NET 项目。