Od dziś rano bez żadnych zmian w kodzie projektu, bardzo prosty interfejs API sieci Web, jeden kontroler i 3 metody, dzięki Swagger nie uruchamia się już więcej i pojawia się błąd:
Błąd HTTP 500.35 - Wiele aplikacji wewnątrzprocesowych ANCM w tym samym procesie
Przeglądarka zdarzeń zgłasza najbardziej bezużyteczną wiadomość:
Moduł IIS Express AspNetCore V2: Nie można uruchomić aplikacji „/ LM / W3SVC / 2 / ROOT / docs”, kod błędu „0x80004005”.
Zrestartowałem system kilka razy.
Korzystam z programu Visual Studio 2019, aplikacja została pomyślnie skompilowana i kilka minut temu działała dobrze. Żadne nowe oprogramowanie nie zostało zainstalowane, nie dodano żadnych pakietów. Próbowałem także wyczyścić i odbudować.
Właśnie zmodyfikowałem komentarz metody. Oczywiście próbowałem również przywrócić poprzedni komentarz, ale zawsze otrzymuję ten sam komunikat.
Co mogę zrobić?
Czy rdzeń sieci jest nadal zbyt niestabilny, aby można go było używać profesjonalnie?
AKTUALIZACJA
Ten sam kod uruchomiony z tej samej wersji programu Visual Studio, ale na innym komputerze działa poprawnie.
AKTUALIZACJA 2
Poniżej kod aplikacji:
startup.cs
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.FileProviders;
using Microsoft.Extensions.Hosting;
using Microsoft.OpenApi.Models;
using System;
using System.IO;
using System.Reflection;
namespace WFP_GeoAPIs
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo() { Title = "Geographic APIs", Version = "v1.0.0" });
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.XML";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
c.IncludeXmlComments(xmlPath);
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), "swagger-ui")),
RequestPath = "/swagger-ui"
});
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "GeoAPIs Ver 1.0.0");
c.RoutePrefix = "docs";
c.InjectStylesheet("/swagger-ui/custom.css");
});
}
}
}
Oto plik launchsettings.json:
{
"$schema": "http://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:51319",
"sslPort": 44345
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "docs",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"WFP_GeoAPIs": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "docs",
"applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
ale kopiowanie projektu na innym komputerze z tą samą wersją Visual Studio działa dobrze, więc wygląda na to, że jest to błąd konfiguracji we właściwości .NET Core lub VIsual Studio ...