2013-03-01 13 views
7

Bir NuGet paketi oluşturuyorum ve hedef web sitesinin Global.asaxını değiştirmenin bir yolu olup olmadığını merak ediyordum? Application_Start'a bir satır eklemek istiyorum (ve eğer yok ise Global.asax'ı oluşturmak istiyorum). Mümkün mü? Güncellemeler nasıl çalışır?Global.asax'ı NuGet paketi ile değiştirilsin mi?

cevap

11

Önerilen yaklaşım, ana bilgisayar uygulamasının Global.asax dosyasını değiştirmemektir. Bunun yerine, WebActivator'u kullanabilir ve projeye ayrı bir dosya ekleyebilirsiniz. Tam olarak bunu yapan Ninject.MVC3 NuGet örneğine bir göz atın.

yo Nuget sadece proje ~/App_Start/MyNuGetAppStart.cs için aşağıdaki dosyayı ekleyebilirsiniz yüklemek Örneğin:

[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 
     } 
    } 
} 

Bu oldukça Global ile karıştırmasını daha uygulamanın başlangıcında özel kod eklemek için çok daha mütevazi bir yoldur Kullanıcının önceden ayarlamış olabileceği .asax dosyası.

İlgili konular