C# ASP.Net MVC-Swashback无法识别任何控制器
我正在尝试使用Swashback将Swagger UI集成到我的ASP.NETMVC项目中,但我遇到了Swashback无法识别任何控制器/端点的问题 为了简单起见,我创建了一个全新的项目,其中包含一个控制器,如下所示:C# ASP.Net MVC-Swashback无法识别任何控制器,c#,asp.net-mvc,swagger,swagger-ui,swashbuckle,C#,Asp.net Mvc,Swagger,Swagger Ui,Swashbuckle,我正在尝试使用Swashback将Swagger UI集成到我的ASP.NETMVC项目中,但我遇到了Swashback无法识别任何控制器/端点的问题 为了简单起见,我创建了一个全新的项目,其中包含一个控制器,如下所示: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace TestAPI.Controllers {
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace TestAPI.Controllers
{
public class HomeController : Controller
{
[Route("Home")]
[HttpGet]
public ActionResult Index()
{
return View();
}
[Route("Home/About")]
[HttpGet]
public ActionResult About()
{
ViewBag.Message = "Your application description page.";
return View();
}
[Route("Home/Contact")]
[HttpGet]
public ActionResult Contact()
{
ViewBag.Message = "Your contact page.";
return View();
}
}
}
我使用Nuget使用以下命令添加Swashbuckle:
Install-Package Swashbuckle
我保留了整个项目以及Swashback本身的所有默认配置(使用生成的文件SwaggerConfig.cs)
当我导航到招摇过市端点时,我收到一个空的招摇过市定义,并且没有显示我的控制器/端点
我不知道如何让我的控制器/端点显示出来。所有的Swashback演示让人觉得这个基本配置至少会显示端点
谢谢
编辑:下面是我的SwaggerConfig.cs
using System.Web.Http;
using WebActivatorEx;
using TestAPI;
using Swashbuckle.Application;
[assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")]
namespace TestAPI
{
public class SwaggerConfig
{
public static void Register()
{
var thisAssembly = typeof(SwaggerConfig).Assembly;
GlobalConfiguration.Configuration
.EnableSwagger(c =>
{
c.SingleApiVersion("v1", "TestAPI");
})
.EnableSwaggerUi();
}
}
}
这个问题的答案是Swashback不适用于ASP.NETMVC。不幸的是,虚张声势并不是解决这个问题的合适方法。我最终使用反射和XML注释的组合创建了一个自定义解决方案。您尝试过这个吗@奈维勒那泽兰这些是我采取的步骤,让事情启动和运行。出于某种原因,Swashback或类似的东西似乎无法识别这些路由。@CharlesBisbee您使用的是.NET MVC的哪个版本?@TiagoBrenck我使用的是.NET MVC 5您是否尝试关闭它,然后再打开它?