Ab heute Morgen ohne Änderungen am Code des Projekts, einer sehr einfachen Web-API, einem Controller und drei Methoden, mit Swagger, startet es nicht mehr und ich bekomme den Fehler:
HTTP-Fehler 500.35 - ANCM Mehrere In-Process-Anwendungen im selben Prozess
Die Ereignisanzeige meldet die nutzloseste Nachricht:
IIS Express AspNetCore-Modul V2: Anwendung '/ LM / W3SVC / 2 / ROOT / docs', Fehlercode '0x80004005' konnte nicht gestartet werden.
Das System wurde mehrmals neu gestartet.
Ich verwende Visual Studio 2019, die Anwendung wurde erfolgreich kompiliert und vor einigen Minuten funktionierte sie einwandfrei. Es wurde keine neue Software installiert, keine Pakete hinzugefügt. Versucht auch sauber und wieder aufzubauen.
Ich habe gerade den Kommentar einer Methode geändert. Natürlich habe ich auch versucht, den vorherigen Kommentar wiederherzustellen, aber ich erhalte immer die gleiche Nachricht.
Was kann ich machen?
Ist der Netzkern immer noch zu instabil, um professionell eingesetzt zu werden?
AKTUALISIEREN
Derselbe Code, der von derselben Version von Visual Studio, aber auf einem anderen PC gestartet wurde, wird ordnungsgemäß ausgeführt.
UPDATE 2
Unter dem Code der Anwendung:
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");
});
}
}
}
Hier ist die 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"
}
}
}
}
Das Kopieren des Projekts auf einem anderen PC mit derselben Visual Studio-Version funktioniert jedoch einwandfrei. Es sieht also so aus, als ob es sich um einen Konfigurationsfehler in der .NET Core- oder VIsual Studio-Eigenschaft handelt.
quelle
Antworten:
Es ist derzeit ein Fehler in VS2019 - (4. November 2019)
1.) Schließen Sie Ihre Lösung
2.) Löschen
applicationhost.config
in Ordner.vs
oder löschen Sie den gesamten.vs
OrdnerDer
.vs
Ordner befindet sich normalerweise neben Ihrer Lösungsdatei.3.) Starten Sie Ihre Lösung erneut
quelle
Dank @Lex Li hat er mir die Lösung gegeben.
Das Problem befand sich in der Datei applicationhost.config, der Metabasisdatei, die alle Einstellungen für den IISExpress-Start von Visual Studio zum Ausführen Ihrer Webanwendung enthielt.
Für Visual Studio 2019 befindet sich diese Datei in
Weitere Versionen finden Sie in diesem Beitrag: Wo befindet sich die IIS Express-Konfigurations- / Metabasisdatei?
Unter dem Abschnitt hatte ich folgendes:
Wo gibt es eine seltsame Einstellung definiert durch
Das wurde sicherlich hinzugefügt, als ich versucht habe, den Pfad / docs als Startordner festzulegen.
Das Auskommentieren dieser Einstellung und einer weiteren am Ende der Datei, die sich auf diesen Pfad bezieht, hat das Problem behoben.
quelle
Ich habe den gleichen Fehler erhalten, als ich Folgendes getan habe:
Problem:
Da sich beide meiner Websites unter "Standardwebsite" befinden, verwenden beide DefaultAppPool, was die Ursache für diesen Fehler ist. Der gleiche Fehler tritt auf, wenn sich die Websites nicht unter "Standardwebsite" befinden, sondern denselben App-Pool verwenden.
Lösung:
Wie in den Dokumenten erwähnt ,
Für mich wurde dieses Problem behoben, als ich anfing, separate App-Pools für jede Site zu verwenden.
quelle