モジュール性のために、いくつかのコントローラを別々のアセンブリに作成しました。各アセンブリは、システム全体の限定されたコンテキスト(モジュール、サブシステム、部門など)を表します。ASP.NET Core MVC 2.0の別のアセンブリでコントローラを使用する方法は?
各モジュールのコントローラは、他のモジュールについては何も知らない人が開発したものであり、中央のオーケストレータは1つのアプリケーションですべてのモジュールをカバーしようとしています。
したがって、このモジュールは学校と呼ばれ、TeacherController
が含まれています。その出力はContoso.School.UserService.dll
です。
メインオーケストレーターはEducation
と呼ばれ、Contoso.School.UserService.dll
への参照があります。
マイprogram.cs
がある:教師のコントローラのルートのためしかし
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args).UseKestrel()
.UseStartup<Startup>()
.Build();
、私は他のアセンブリでコントローラを使用する方法404を取得しますか? assembly
はContoso.School.UserService.dll
を表すインスタンスAssembly
ある
services.AddMvc().AddApplicationPart(assembly).AddControllersAsServices();
:あなたは以下を呼び出す必要がありStartup
クラスのConfigureServices
メソッド内
何nugetパッケージには、私は 'AddApplicationPart'のために必要なのでしょうか? –
'Microsoft.AspNetCore.Mvc.Core.dll'アセンブリにあり、' Microsoft.Extensions.DependencyInjection'名前空間を持っています –
詳細情報とソースコードのサンプルについては、こちらをご覧ください - https://docs.microsoft.com/ja -us/aspnet/core/mvc/advanced/app-parts –