私がやろうとしているのは、ASP.Net Coreアプリケーションにswaggerを追加することだけです。私はチュートリアルを見ていますが、Startup.csファイルのconfigure services領域の下にservices.AddSwaggerGen();
を追加するだけです。 MVCのような通常のサービスと同じように...しかし、エラーが表示されます。
必須の仮パラメーター「setupAction」に対応する引数は指定されていません...
services.AddSwaggerGen()
になんらかの引数を提供している人はいないので、ここで何が欠けているのか誰もが知っていますか?
SwashBuckler.AspNetCore
依存関係を追加したため、swaggerがアプリケーションに含まれています。なぜ赤色で上記のエラーが発生するのかわからないだけです。
これは、ASP.NET CoreのAddSwaggerGen()
拡張メソッドの実装では、セットアップアクションとして機能する_Action<SwaggerGenOptions>
_引数を指定する必要があるために発生します。例えば:
_services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
});
_
ASP.NET CoreアプリでSwaggerをセットアップする方法の詳細については、こちらをご覧ください こちら 。
UPDATE:以前のバージョンでは、AddSwaggerGen()
拡張メソッドは引数を受け入れませんでしたが、この呼び出しにはConfigureSwaggerDocument(Action<SwaggerGenOptions> setupAction)
。 ConfigureSwaggerDocument
を削除し、AddSwaggerGen()
メソッドにセットアップアクションを追加しただけだと思います。それはあなたのチュートリアルが時代遅れのバージョンのSwaggerをセットアップする方法を示しているようだと言われています。
問題がありました
IServiceCollectionには「AddSwaggerGen」の定義が含まれていません
Swashbuckle.AspNetCoreの代わりにSwashbuckle.AspNetCore.Swaggernugetパッケージをインストールしたことがわかりました。
.NET Core 3には、 here で説明したいくつかの問題があります。解決策は、以下をプロジェクトファイルに追加して、以前のバージョンを置き換えることです。
<PackageReference Include="Swashbuckle.AspNetCore" Version="5.0.0-rc2" />
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="5.0.0-rc2" />