Я создал простой консольный проект .NET Core, включающий ядро ASP.NET, как показано ниже:
MyProject.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.1" />
</ItemGroup>
</Project>
И в моем Program.cs:
public class Program
{
static void Main()
{
WebHost.CreateDefaultBuilder()
.UseKestrel()
.UseStartup<Startup>()
.UseUrls("http://localhost:1234")
.Build()
.Run();
}
}
В моем Startup.cs у меня есть:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseMvc();
}
}
И один контроллер в папке Controllers:
public class HomeController : Controller
{
[Route("Home/Index")]
public IActionResult Index()
{
return Ok("Hello from index");
}
}
Но ничто из того, что я могу сделать, похоже, не дает поразить мой контроллер.
Журналы показывают, что запросы к http://localhost:1234/Home/Index
поступают через Kestrel, но 404ing.
Чего мне не хватает? Я также пытался указать маршруты, но не смог найти контроллер.