【发布时间】:2020-01-31 05:33:45
【问题描述】:
我有一个针对 netstandard2.0 的库,我在依赖于几个 Microsoft.Extensions 包的 ASP.NET Core 2.2 应用程序中使用它
这是我的csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="2.2.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="2.2.0" />
</ItemGroup>
</Project>
我现在希望能够在新的ASP.NET Core 3 应用程序以及我现有的ASP.NET Core 2.2 应用程序中使用同一个库。
查看Microsoft.Extensions.* 包,它们的版本似乎总是与ASP.NET Core 的发布版本相匹配。
我的选择是
- 什么都不做 .. 这个包在
ASP.NET Core 3应用程序中仍然可以工作吗? - 将软件包升级到它们的
3.0等效项。这个软件包在ASP.NET Core 2应用程序中是否仍然有效? - 保留现有包(用于
ASP.NET Core 2.2应用程序),但使用3.0等效项创建一个新包以用于ASP.NET Core 3.0应用程序
总体问题是作为库作者,Microsoft.Extensions.* 包的特定版本与其在特定ASP.NET Core 目标中的使用之间有什么相关性?
【问题讨论】:
-
我之前发过一个相关的问题,我也不清楚。 stackoverflow.com/questions/57846163/…
-
谢谢朱利安,会检查一下..所有这些定位都让我感到非常困惑,很高兴我并不孤单
-
对于稍后提出这个问题的人,并且您正在尝试在 .NetStandard 2.1 库中使用 Microsoft.Extensions(可能是配置),这仍然是偶数更令人困惑。 Microsoft.Extensions 面向 .NetStandard 2.0 或 .NetCoreApp 3.1。所以VS告诉你'Can't use this for .NetStandard 2.1。使其成为 .netcore 应用程序',这可能会对您正在编写的其他标准库产生多米诺骨牌效应。混淆是因为 Visual Studio 没有告诉您“或者您可以定位 .NetStandard 2.0 并且很好 - 甚至可能比使用 2.1 覆盖更多的用户”。
标签: asp.net-core