Asp.net core 对于带有API控制器的.NET标准库,我需要哪个NuGet包
我正在将一个大型应用程序从ASP.NET Core 2.2升级到ASP.NET Core 3.1 我们有针对.NET标准2.1的程序集,但我想知道需要添加哪个包才能访问Asp.net core 对于带有API控制器的.NET标准库,我需要哪个NuGet包,asp.net-core,Asp.net Core,我正在将一个大型应用程序从ASP.NET Core 2.2升级到ASP.NET Core 3.1 我们有针对.NET标准2.1的程序集,但我想知道需要添加哪个包才能访问ControllerBase、httpposattribute、IActionResult等等 我们以前使用的包参考是Microsoft.AspNetCore.Mvc,但该包没有3.1.0版本(到目前为止最新版本仍然是2.2.0) 我们的主机应用程序(使用上述.NET标准库)引用了Microsoft.AspNetCore.SpaS
ControllerBase
、httpposattribute
、IActionResult
等等
我们以前使用的包参考是Microsoft.AspNetCore.Mvc,但该包没有3.1.0版本(到目前为止最新版本仍然是2.2.0)
我们的主机应用程序(使用上述.NET标准库)引用了Microsoft.AspNetCore.SpaServices.Extensions版本3.1.0,但该软件包只能在netcoreapp3.1中使用,不能在netstandard2.1库中使用
我很困惑,目前不知道应该使用哪个软件包,因此欢迎提供任何帮助。感谢Chris Pratt链接,其中指出我们现在需要使用:
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
而不是单个的Microsoft.AspNetCore.*包引用
因此,我想我不得不接受这样一个事实,即包含API控制器的库不能再作为
netstandard2.x
库提供。我认为本文将帮助您:。这实际上是一个系列的一部分,它们都非常棒。@ChrisPratt谢谢你,你怎么这么快就发现了?我在网上搜索了好几个小时…从技术上讲,我作弊了。从技术上讲,这不是问题。如果您正在处理ASP.NET核心的内容,那么您最好只针对.NET核心。它在其他任何支持.NET标准的地方都没有应用程序,特别是.NET标准2.1,它模仿了.NET框架。如果有适用于其他目标(如Unity或Xamarin)的部分,最好将其分解到一个单独的库中,在那里您甚至可以针对.NET Standard 2.0。在前进的过程中,我认为这很难看。F.e.我有一个设置身份验证的库(OpenID connect+cookie),现在我必须以netcoreapp3.1为目标,必须添加框架引用,这样我就可以删除不再是最新的Microsoft.AspNetCore.authentication.Cookies
,但仍然必须添加包Microsoft.AspNetCore.authentication.OpenIdConnect
。这是胡说八道。我现在唯一能想到的是:我将如何向我的同事解释这一点?对不起,我的咆哮:)