【问题标题】:Reference a .NET Standard 1.6 library from a .net 4.6.2 library从 .net 4.6.2 库中引用 .NET Standard 1.6 库
【发布时间】:2017-03-30 05:31:15
【问题描述】:

我有一个以 netstandard1.6 为目标的自制 nuget 包,已发布到私人订阅源。当我尝试将其安装到针对 .NET Framework 4.6.2 的包中时,nuget 告诉我:

您正在尝试将此包安装到以“.NETFramework,Version=v4.6.2”为目标的项目中,但该包不包含任何与该框架兼容的程序集引用或内容文件。如需更多信息,请联系包作者。

包的依赖列表如下:

我正在使用 Visual Studio 2017,2017 年 3 月 28 日发布。

我认为这就是 .NET Standard 库的全部意义所在?我错过了什么?

【问题讨论】:

    标签: .net .net-standard


    【解决方案1】:

    我相信,计划是这将与 netstandard2.0 工具一起使用 - 但由于 net46x 周围的一些奇怪问题,它目前无法使用。

    netstandard 和 .NET 框架版本之间的映射有两个文档:

    如您所见,在“current”中,只有“vNext”支持netstandard1.6。不过,您应该可以针对 .NET 4.6.2 中的 netstandard1.5 库 - 您真的需要您的包来针对 netstandard1.6 吗? (1.6 中没有很多 1.5 中没有的。)

    【讨论】:

    • 我也在处理一个新的 ASP.NET Core 1.1 项目,我的理解是 Core 1.1 需要 .NET Standard 1.6。
    • @Chris:不清楚你的意思。您可以从 ASP.NET Core 1.x 中使用支持(例如)netstandard1.3 的库。 (在 ASP.NET Core 和 .NET Core 之间也值得清楚 - 在这种情况下,不清楚你所说的“Core 1.1”是什么意思。)如果你的库目标是 netstandard1.5 或更低,你应该没问题。
    • 我的意思是 .NET Core 1.1。我想我是在向后思考,你说的很有道理。我将尝试以 .NET Standard 1.5 为目标,看看它是否有效。
    • 所以我尝试将库更新为面向 .NET 1.5 并发布更新的包。错误仍然存​​在。但是,如果我按照其他人的建议通过将 <targetframework>netstandard1.5</targetframework> 更改为 <targetframeworks>net462;netstandard1.5</targetframeworks> 来更新库的 .csproj,我就可以安装该软件包。似乎是某处的工具/文档疏忽。
    • @Chris:嗯……这很奇怪。我真的希望这会奏效。稍后会尝试调查它,但我现在不能。
    猜你喜欢
    • 1970-01-01
    • 2017-01-06
    • 2017-07-04
    • 1970-01-01
    • 2021-12-04
    • 2017-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多