Контроллеры не найдены в ядре ASP.NET в консольном приложении - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь получить простой набор основных проекций asp.net с базовой конфигурацией и работающим контроллером, но пока безрезультатно. Я использовал код из проекта веб-шаблона для создания нового консольного проекта, но контроллеры не найдены.

Вот как выглядит проект:

Project structure

Console output

Route not found

public class Program
{
    public static void Main(string[] args)
    {
        CreateWebHostBuilder(args).Build().Run();
    }

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>();
}

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        app.UseMvc();
    }
}

[ApiController]
public class TestController : ControllerBase
{
    [HttpGet]
    [Route("Test")]
    public ActionResult<string> Get()
    {
        return "Hello world!";
    }
}

//appsettings.json
{
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*"
}

Я упускаю что-то очень очевидное, но не могу понять, любая помощь приветствуется.

Спасибо

ОБНОВЛЕНИЕ 1

As per comment, trying http://localhost:5000/test/get

ОБНОВЛЕНИЕ 2

As per Damir's comment

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

Я не обратил внимания, но у меня было предупреждение в одной из зависимостей, и после их добавления я получил свой оригинальный код, спасибо, ребята.

Added dependencies

0 голосов
/ 28 августа 2018

@ марко

просто добавьте Route к вашему контроллеру, он должен выглядеть как

[Route("api/[controller]")]
[ApiController]
public class TestController : ControllerBase
{
    [HttpGet]
    [Route("Test")]
    public ActionResult<string> Get()
    {
        return "Hello world!";
    }
}

и URL будет выглядеть так: https://localhost:5001/api/test/test

UPDATE:

добавлен скриншот

enter image description here

...