【问题标题】:How to figure out the information of dependency packages for missing frameworks如何找出缺少框架的依赖包信息
【发布时间】:2018-01-19 06:07:04
【问题描述】:

今天我将一个 NuGet 包 DocumentFormat.OpenXml 添加到我的 C# 项目中。我的 C# 项目的目标是 .Net framework v4.5。在 NuGet 包管理器中显示了 NuGet 包的依赖信息,如下图所示:

没有.Net Framework v4.5 对应的信息。那么,如果我的项目针对 .Net Framework v4.5,我该如何解释这些信息。是否缺少此信息或在这种情况下有任何默认假设可能是没有依赖关系。有人可以分享这方面的一些信息

注意:这个问题可能看起来像一个非编程问题,但我什至在写一行代码之前就被卡住了,所以在这个论坛上提问。

【问题讨论】:

  • 我相信查看第一个早期版本的唯一方法是选择一个 nuget。在您的特定情况下,v4.0。
  • .NETFrameworks 支持向后兼容。 docs.microsoft.com/en-us/dotnet/framework/migration-guide/…。所以nuget会安装依赖“最近的”向后兼容框架v4.0。您可以尝试将您的目标框架更改为 4.6.1 或更高版本,然后安装该软件包,将添加 .Net 框架 4.6 的依赖项System.IO.Packaging (>= 4.4.0)

标签: c# .net visual-studio nuget nuget-package


【解决方案1】:

.NET 框架向后兼容。这意味着如果您的项目针对 v4.5,您可以使用较低版本的包,例如 v4.0、v3.5。

NuGet 的专长是兼容性检查(如果包的编写正确):) NuGet 知道可用的框架是 v3.5、v4.0、v4.6 和 netstandard1.3。 与 v4.5“最接近”的兼容框架是 v4.0,因此它会在您安装时选择 v4.0 资产。

所以答案,在你的情况下它没有依赖关系。

请注意,仅从 nuget.org 上的 TFM 来看,框架兼容性并不总是显而易见的,NuGet 将尝试不同的回退。

因此,找出依赖项的最佳方法是将其安装在项目中,因为如果您有其他依赖项,NuGet 可能需要解决冲突等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-11
    • 1970-01-01
    • 2013-01-13
    • 1970-01-01
    相关资源
    最近更新 更多