ASP.NET5およびMVC6でスタートアップ構成をWebプロジェクトから切り離す最良の方法

エロロス

MVC5を使用すると、すべてのレイヤーへの参照を持つブートストラッププロジェクトを非常に簡単に作成できるため、UIレイヤーをインフラストラクチャロジックへの参照から切り離すことができます。プロジェクトには、IoCコンテナーのセットアップなどのスタートアップ構成ロジックが含まれます。

これを行う方法は、スタートアップクラスを定義することでした。

public class Startup
{
    public static void Start()
    {
        // startup configuration (IoC etc) goes here
    }
}

そして、次の行を追加しAssemblyInfo.csます:

[assembly: PreApplicationStartMethod(typeof(Startup), "Start")]

残念ながら、このアプローチはasp.net 5では機能しなくなりました。ドキュメントを簡単に調べましたが、フレームワークがWebプロジェクト内でStartupという名前のクラスを検索していることがわかりました。

また、Startupクラスの検索に関与していると思われるMicrosoft.AspNet.Hosting ソースコード調べました構成クラスへの参照がいくつかあるので、何らかの構成設定を使用してアセンブリをロードできる可能性がありますが、これを確認したり、どの設定を決定したりすることができませんでした。

また、これが当てはまるconfig.json場合、ファイル自体がStartupクラス内にロードされているときに、ファイルを使用してStartupクラスをどのように決定できますか?たとえば環境変数を使用するなど、スタートアップアセンブリを構成するためのさまざまなオプションはありますか?

ヘンクモレマ

WebHostBuilderスタートアップの種類を探すアセンブリを変更できます

次の内容の名前のINI構成ファイルをフォルダーに追加Microsoft.AspNet.Hosting.iniしますwwwroot

[Hosting]
Application = App.Bootstrapper

App.Bootstrapperアプリケーションのブートストラッププロジェクトの名前空間はどこにあります

ただし、スタートアップクラスは同じように見える必要があります。たとえば、withConfigureServicesConfigure

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        // ...
    }

    public void Configure(IApplicationBuilder app)
    {
        // ...
    }
}

興味があれば、ここでスタートアップの種類を決定するためのロジックを見ることができますHosting:ApplicationINIファイルでキーを指定すると、の代わりにその値が使用されますappEnvironment.ApplicationName

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ASP.NET 5 MVC6プロジェクトで完全な.NETスタックに切り替える方法

分類Dev

ASP.NET Core3.1スタートアップとコントローラーで使用される構成オブジェクトを共有するための最良の方法は何ですか

分類Dev

ASP.NET MVC6 beta5プロジェクトにコントローラーを追加するにはどうすればよいですか?

分類Dev

MVC6なしでWebApiをASP.NET5(vnext)プロジェクトに追加できますか?

分類Dev

新しいASP.NET5(ASP.NET MVC 6)プロジェクトタイプは通常の.NETをターゲットにできますか?

分類Dev

IISクラシックモードプールでASP.NET5(vNext)MVC6プロジェクトをホストするにはどうすればよいですか

分類Dev

ASP.NET 5 MVC6エラー:プロジェクトはWebプロジェクトではありません

分類Dev

dotnet core(以前のasp.net mvc6)でプロジェクトのバージョンを読み取るにはどうすればよいですか?

分類Dev

asp.netコアのスタートアップからルート構成をどのように分離しますか?

分類Dev

ASP NET MVC6プロジェクトでのSystem.Net.Mailの使用

分類Dev

ASP.NET MVC6プロジェクトのLIBフォルダー

分類Dev

ASP.NET CoreプロジェクトでMVCとSignalRのルーティングを構成するにはどうすればよいですか?

分類Dev

ASP.NET In mvc6プロジェクト

分類Dev

ASP.NET4.5および5.0プロジェクトのVSTSリリース管理での構成変数の使用

分類Dev

vs2017ソフトウェア(およびasp.netコアプロジェクト)でnugetからダウンロードしたパッケージを見つけて使用する方法は?

分類Dev

asp.netのサーバーフォルダーからMicrosoftAccessデータベースをアップロードおよびフェッチする方法

分類Dev

ASP.NET5プロジェクトが.NET4.6.1を適切にターゲットにしておらず、デバッグできない

分類Dev

ASP.NET MVC5プロジェクト用のより複雑なデータベースの設計

分類Dev

MVC6のASP.Net5タグヘルパーからRouteDataにアクセスする方法

分類Dev

ASP.Net Core MVCプロジェクトはルートを構成できませんか?

分類Dev

asp mvc6プロジェクトでブラウザーリンクを機能させる方法

分類Dev

VB.Net/C#およびASP.NETのドロップダウンリストにオブジェクトプロパティを表示する方法

分類Dev

ASP.NET MVC 5WebアプリをAzureの仮想ネットワークにデプロイするにはどうすればよいですか

分類Dev

ASP.NET MVCソリューションでドメインオブジェクトからプレゼンテーションコードをリファクタリングする最良の方法は何ですか?

分類Dev

ASP.NET 5(vNext)Webプロジェクト:beta4からbeta6へのライブラリの競合のアップグレード

分類Dev

両方のプロジェクトが別々に生成された場合、ASP.NET Core Web APIプロジェクトからAngularファイルを提供するにはどのような構成が必要ですか?

分類Dev

asp.netプロジェクト内のhtmlページからajaxリクエストを呼び出す

分類Dev

既存のASP.NET MVC(5)WebアプリケーションプロジェクトにWeb APIを追加する方法

分類Dev

ASP.NET Web APIからストアドプロシージャを実行(呼び出す)方法は?

Related 関連記事

  1. 1

    ASP.NET 5 MVC6プロジェクトで完全な.NETスタックに切り替える方法

  2. 2

    ASP.NET Core3.1スタートアップとコントローラーで使用される構成オブジェクトを共有するための最良の方法は何ですか

  3. 3

    ASP.NET MVC6 beta5プロジェクトにコントローラーを追加するにはどうすればよいですか?

  4. 4

    MVC6なしでWebApiをASP.NET5(vnext)プロジェクトに追加できますか?

  5. 5

    新しいASP.NET5(ASP.NET MVC 6)プロジェクトタイプは通常の.NETをターゲットにできますか?

  6. 6

    IISクラシックモードプールでASP.NET5(vNext)MVC6プロジェクトをホストするにはどうすればよいですか

  7. 7

    ASP.NET 5 MVC6エラー:プロジェクトはWebプロジェクトではありません

  8. 8

    dotnet core(以前のasp.net mvc6)でプロジェクトのバージョンを読み取るにはどうすればよいですか?

  9. 9

    asp.netコアのスタートアップからルート構成をどのように分離しますか?

  10. 10

    ASP NET MVC6プロジェクトでのSystem.Net.Mailの使用

  11. 11

    ASP.NET MVC6プロジェクトのLIBフォルダー

  12. 12

    ASP.NET CoreプロジェクトでMVCとSignalRのルーティングを構成するにはどうすればよいですか?

  13. 13

    ASP.NET In mvc6プロジェクト

  14. 14

    ASP.NET4.5および5.0プロジェクトのVSTSリリース管理での構成変数の使用

  15. 15

    vs2017ソフトウェア(およびasp.netコアプロジェクト)でnugetからダウンロードしたパッケージを見つけて使用する方法は?

  16. 16

    asp.netのサーバーフォルダーからMicrosoftAccessデータベースをアップロードおよびフェッチする方法

  17. 17

    ASP.NET5プロジェクトが.NET4.6.1を適切にターゲットにしておらず、デバッグできない

  18. 18

    ASP.NET MVC5プロジェクト用のより複雑なデータベースの設計

  19. 19

    MVC6のASP.Net5タグヘルパーからRouteDataにアクセスする方法

  20. 20

    ASP.Net Core MVCプロジェクトはルートを構成できませんか?

  21. 21

    asp mvc6プロジェクトでブラウザーリンクを機能させる方法

  22. 22

    VB.Net/C#およびASP.NETのドロップダウンリストにオブジェクトプロパティを表示する方法

  23. 23

    ASP.NET MVC 5WebアプリをAzureの仮想ネットワークにデプロイするにはどうすればよいですか

  24. 24

    ASP.NET MVCソリューションでドメインオブジェクトからプレゼンテーションコードをリファクタリングする最良の方法は何ですか?

  25. 25

    ASP.NET 5(vNext)Webプロジェクト:beta4からbeta6へのライブラリの競合のアップグレード

  26. 26

    両方のプロジェクトが別々に生成された場合、ASP.NET Core Web APIプロジェクトからAngularファイルを提供するにはどのような構成が必要ですか?

  27. 27

    asp.netプロジェクト内のhtmlページからajaxリクエストを呼び出す

  28. 28

    既存のASP.NET MVC(5)WebアプリケーションプロジェクトにWeb APIを追加する方法

  29. 29

    ASP.NET Web APIからストアドプロシージャを実行(呼び出す)方法は?

ホットタグ

アーカイブ