【发布时间】:2018-08-10 13:48:40
【问题描述】:
我有一个 .net framework 4.7.2 项目,它需要引用一个 nuget 包,该包具有 net framework 4.5.2 和 net standard 2.0 的目标。该项目还引用了其他网络框架项目,因此我还不能将项目重新定位为网络标准。
我正在尝试从 net472 项目中引用 Microsoft.Diagnostics.EventFlow.Core 和 Microsoft.Extensions.Configuration 2.1.1。 Microsoft.Diagnostics.EventFlow.Core的net452版本有Microsoft.Extensions.Configuration.Abstractions (>= 1.1.1 && < 2.0.0)的限制,而netstandard2.0版本的Microsoft.Extensions.Configuration.Abstractions (>= 2.0.1)有限制
由于这个依赖限制,我需要使用 netstandard 版本。 net472 应该可以同时使用 net452 和 netstandard2.0 包,但是当一个包同时针对两者时,它希望默认使用 net452 版本。
如何选择要使用的包的目标? packages.config 有一个 targetFramework 属性,但我不知道如何使用 PackageReference。
【问题讨论】:
-
你不能用 NuGet 做到这一点。 NuGet 将使用与项目的目标框架匹配的程序集。您必须直接引用 netstandard 程序集,而不是使用 NuGet - 如果您使用 PackageReferences,这可能无济于事。你有更多关于
Because of the dependency restrictions of the net framework version of the package, I need to use the net standard version的信息吗? -
谢谢,我已经更新了我的问题。