【发布时间】:2021-02-26 15:03:40
【问题描述】:
我有一个 ASP.NET Core 5.0.1 项目并计划在 swagger UI 上创建身份验证,但我在服务控制器上遇到了一些问题。这是下面的错误代码。关于这一点,我在Link 中看到了与我类似的问题,但即使添加了 NewtonsoftJson,我的问题也没有解决。关于此类问题的任何想法。
错误 CS1061 'IServiceCollection' 不包含 'AddControllers' 并且没有可访问的扩展方法 'AddControllers' 可以找到接受“IServiceCollection”类型的第一个参数 (您是否缺少 using 指令或程序集引用?
using Microsoft.Owin;
using Owin;
using System;
using System.Threading.Tasks;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Mvc.NewtonsoftJson;
[assembly: OwinStartup(typeof(ABSRestService.App_Start.Startup1))]
namespace ABSRestService.App_Start
{
public class Startup1
{
public Startup1(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigurationServices(IServiceCollection services)
{
services.AddControllers();
}
}
}
【问题讨论】:
-
显示的命名空间是正确的。确保调用此代码的项目引用了
Microsoft.AspNetCore.Mvc.dlldocs.microsoft.com/en-us/dotnet/api/… -
什么是 ASP.NET Core 4.7.2?您是否将 ASP.NET Core 与 .NET Framework 一起使用?您实际使用的是哪个版本的 ASP.NET Core?如果您使用的是 AddControllers,如果您使用的是 .NET Framework,则没有 ASP.NET Core 3.x+。
-
@Nkosi 我认为引用它是正确的,但正在再次检查它
-
@KirkLarkin 嗯,我在 dotnet --info 上查看它说 5.0.1 版本,如果它与 net framework 一致,对不起,我不知道如何查看它,但基于上面的 dotnet --info
-
重新开始。您的项目将 ASP.NET 与 ASP.NET Core 混合在一起。选择项目时,请确保选择 ASP.NET Core,而不是 ASP.NET。一种使用 .NET Core,另一种使用 .NET Framework。选择使用 .NET Core 的那个。
标签: c# .net asp.net-core asp.net-core-mvc