У меня есть консольное приложение, которое я пытаюсь запустить Kestrel. Файлы кода — это все шаблонные файлы из пустого приложения ASP.Core:
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.Build();
}
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.Run(async (context) =>
{
await context.Response.WriteAsync("Hello World!");
});
}
}
Однако, когда я запускаю его, я получаю следующее исключение:
Unhandled Exception: System.InvalidOperationException: No service for type 'Microsoft.AspNetCore.Hosting.IStartup' has been registered.
Мой проектный файл:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" version="2.0" />
</ItemGroup>
</Project>
dotnet app.dll
и работал в обоих случаях! - person Jawad Al Shaikh   schedule 18.10.2017dotnet new console
› - person BanksySan   schedule 18.10.2017new console
, а пока вы можете попробовать VS 2017, если это возможно? - person Jawad Al Shaikh   schedule 18.10.2017dotnet new console
, затем обновил program.cs и csproj вашим кодом, затемdotnet restore
, затемdotnet run
, и это сработало. - person Jawad Al Shaikh   schedule 18.10.2017