【问题标题】:Why is the package found on Nuget not the latest version?为什么在 Nuget 上找到的包不是最新版本?
【发布时间】:2020-09-19 00:49:55
【问题描述】:

为什么我在.net core3.1类库项目中添加了Microsoft.AspNetCore.Http.Extensions等包,却只能找到2.2版本?

在同一个解决方案的类库项目中,在nuget上找不到这两个包的相同版本。

谢谢

【问题讨论】:

  • 是的...2.2 是最新版本。
  • 但是在mvc web项目中有包Microsoft.AspNetCore.Http.Extensions, Version=3.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
  • 哪个 mvc web 项目?
  • 你能张贴你看到的导致你得出这个结论的截图吗?

标签: c# .net asp.net-core asp.net-core-mvc


【解决方案1】:

TLDR - 它是最新版本。

在此处访问Microsoft.AspNetCore.Http.Extensions的nuget页面::https://www.nuget.org/packages/Microsoft.AspNetCore.Http.Extensions/

您会注意到最新版本确实是2.2.0

这是为什么呢? Nuget 包根据要求相互引用。所以一个 X.Y.Z 版本的包很可能需要另一个 S.T.U 版本的库,两个版本号有很大的不同。提高一个的版本,并不意味着也需要提高另一个。

在语义版本控制中,数字(通常)仅表示以下内容

X.Y.Z.

X。主要版本。如果这种情况发生变化,则更新中存在重大变化 Y. 小版本。如果这种情况发生变化,它只是添加了额外的功能,并且您可以在知道您的代码不会中断的情况下安全地进行更新。 Z. 补丁版本。这通常只是错误修复和性能增强。

【讨论】:

  • 虽然这通常是正确的,但这里的情况是 ASP.NET Core 3 不需要此包。请参阅我的答案
【解决方案2】:

对于 ASP.NET Core 3,不再生成此包。看 Migrate from ASP.NET Core 2.2 to 3.0 - Remove obsolete package references

所以 ASP.NET Core 3 不需要它,这就足够了:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
  </PropertyGroup>

</Project>

没有为 ASP.NET Core 3.0 生成大量 NuGet 包。应该从您的项目文件中删除此类包引用。

...

查看不再生产的软件包的完整列表...

  • Microsoft.AspNetCore
  • Microsoft.AspNetCore.All
  • Microsoft.AspNetCore.App
  • Microsoft.AspNetCore.Antiforgery
  • Microsoft.AspNetCore.Authentication
  • Microsoft.AspNetCore.Authentication.Abstractions
  • Microsoft.AspNetCore.Authentication.Cookies
  • Microsoft.AspNetCore.Authentication.Core
  • Microsoft.AspNetCore.Authentication.OAuth
  • Microsoft.AspNetCore.Authorization.Policy
  • Microsoft.AspNetCore.CookiePolicy
  • Microsoft.AspNetCore.Cors
  • Microsoft.AspNetCore.Diagnostics
  • Microsoft.AspNetCore.Diagnostics.HealthChecks
  • Microsoft.AspNetCore.HostFiltering
  • Microsoft.AspNetCore.Hosting
  • Microsoft.AspNetCore.Hosting.Abstractions
  • Microsoft.AspNetCore.Hosting.Server.Abstractions
  • Microsoft.AspNetCore.Http
  • Microsoft.AspNetCore.Http.Abstractions
  • Microsoft.AspNetCore.Http.Connections
  • Microsoft.AspNetCore.Http.Extensions
  • Microsoft.AspNetCore.HttpOverrides
  • Microsoft.AspNetCore.HttpsPolicy
  • Microsoft.AspNetCore.Identity
  • Microsoft.AspNetCore.Localization
  • Microsoft.AspNetCore.Localization.Routing
  • Microsoft.AspNetCore.Mvc
  • Microsoft.AspNetCore.Mvc.Abstractions
  • Microsoft.AspNetCore.Mvc.Analyzers
  • Microsoft.AspNetCore.Mvc.ApiExplorer
  • Microsoft.AspNetCore.Mvc.Api.Analyzers
  • Microsoft.AspNetCore.Mvc.Core
  • Microsoft.AspNetCore.Mvc.Cors
  • Microsoft.AspNetCore.Mvc.DataAnnotations
  • Microsoft.AspNetCore.Mvc.Formatters.Json
  • Microsoft.AspNetCore.Mvc.Formatters.Xml
  • Microsoft.AspNetCore.Mvc.Localization
  • Microsoft.AspNetCore.Mvc.Razor
  • Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
  • Microsoft.AspNetCore.Mvc.RazorPages
  • Microsoft.AspNetCore.Mvc.TagHelpers
  • Microsoft.AspNetCore.Mvc.ViewFeatures
  • Microsoft.AspNetCore.Razor
  • Microsoft.AspNetCore.Razor.Runtime
  • Microsoft.AspNetCore.Razor.Design
  • Microsoft.AspNetCore.ResponseCaching
  • Microsoft.AspNetCore.ResponseCaching.Abstractions
  • Microsoft.AspNetCore.ResponseCompression
  • Microsoft.AspNetCore.Rewrite
  • Microsoft.AspNetCore.Routing
  • Microsoft.AspNetCore.Routing.Abstractions
  • Microsoft.AspNetCore.Server.HttpSys
  • Microsoft.AspNetCore.Server.IIS
  • Microsoft.AspNetCore.Server.IISIntegration
  • Microsoft.AspNetCore.Server.Kestrel
  • Microsoft.AspNetCore.Server.Kestrel.Core
  • Microsoft.AspNetCore.Server.Kestrel.Https
  • Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions
  • Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets
  • Microsoft.AspNetCore.Session
  • Microsoft.AspNetCore.SignalR
  • Microsoft.AspNetCore.SignalR.Core
  • Microsoft.AspNetCore.StaticFiles
  • Microsoft.AspNetCore.WebSockets
  • Microsoft.AspNetCore.WebUtilities
  • Microsoft.Net.Http.Headers

【讨论】:

  • 对不起,我听不懂。新建时。 Net core 3.1 MVC 项目,包含这个库。这些库不是必需的。 Net core 3.0?我不明白。
  • 选择 .net core 3 时是否包含在模板中?
  • 对于 .NET Core 2 是必需的,对于 .NET Core 3 则不需要且不可用。与 Microsoft.AspNetCore 包等相同
猜你喜欢
  • 2020-07-25
  • 2017-02-22
  • 2019-08-29
  • 2016-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-22
相关资源
最近更新 更多