Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 对于带有API控制器的.NET标准库,我需要哪个NuGet包_Asp.net Core - Fatal编程技术网

Asp.net core 对于带有API控制器的.NET标准库,我需要哪个NuGet包

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

我正在将一个大型应用程序从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.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
。这是胡说八道。我现在唯一能想到的是:我将如何向我的同事解释这一点?对不起,我的咆哮:)