今朝から、プロジェクトのコードに変更を加えず、非常にシンプルな Web API、1 つのコントローラー、3 つのメソッドを Swagger で実行すると、起動しなくなり、次のエラーが発生します。
HTTP エラー 500.35 - ANCM 同じプロセス内の複数のインプロセス アプリケーション
イベント ビューアーは最も役に立たないメッセージを報告します:
IIS Express AspNetCore モジュール V2: アプリケーション '/LM/W3SVC/2/ROOT/docs' の起動に失敗しました。エラー コード '0x80004005'。
システムを数回再起動しました。
私は Visual Studio 2019 を使用しています。アプリケーションは正常にコンパイルされ、数分前までは正常に動作していました。新しいソフトウェアはインストールされておらず、パッケージも追加されていません。クリーンアップとリビルドも試しました。
メソッドのコメントを変更しました。もちろん、以前のコメントを復元しようとしましたが、常に同じメッセージが表示されます。
私に何ができる?
ネットコアは、プロフェッショナルに使用するにはまだ不安定すぎるのでしょうか?
アップデート
同じバージョンの Visual Studio から起動された同じコードは、別の PC では正常に実行されます。
アップデート2
アプリケーションのコードは以下の通りです。
スタートアップ.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");
});
}
}
}
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"
}
}
}
}
ただし、同じ Visual Studio バージョンを搭載した別の PC でプロジェクトをコピーすると正常に機能するため、.NET Core または Visual Studio プロパティの構成バグのようです...
ベストアンサー1
現在はバグVS2019 - (2019年11月4日)
1.)ソリューションを閉じる
2.)applicationhost.config
フォルダ内の削除.vs
またはフォルダ全体を削除します.vs
。
フォルダ.vs
は隠しフォルダ通常はソリューション ファイルの隣にあります。
3.)ソリューションを再度開始する