7

NuGetパッケージを作成していますが、ターゲットWebサイトのGlobal.asaxを変更する方法があるかどうか疑問に思っていましたか?Application_Startに1行追加したいと思います(存在しない場合はGlobal.asaxを作成します)。これは可能ですか?更新はどのように機能しますか?

4

1 に答える 1

11

推奨されるアプローチは、ホストアプリケーションのGlobal.asaxファイルを変更しないことです。代わりWebActivatorに、別のファイルを使用してプロジェクトに追加することができます。たとえば、Ninject.MVC3まさにそれを実行するNuGetを見てください。

たとえば、NuGetをインストールするときに、次のファイルをプロジェクトに追加するだけです~/App_Start/MyNuGetAppStart.cs

[assembly: WebActivator.PreApplicationStartMethod(typeof(SomeNamespace.AppStart), "Start")]

namespace SomeNamespace
{

    public static class AppStart
    {
        /// <summary>
        /// Will run when the application is starting (same as Application_Start)
        /// </summary>
        public static void Start() 
        {
            ... put your initialization code here
        }
    }
}

これは、ユーザーがすでに微調整した可能性のあるGlobal.asaxファイルをいじるよりも、アプリケーションの起動時にカスタムコードを追加するためのはるかに目立たない方法です。

于 2013-03-01T23:42:27.520 に答える