üzerinde kayıt hatası Benim bir mvc 3 web uygulaması var, ama benim paylaşılan web hosting şirketi sadece MVC 2 destekler. Ben de mvc 3 ilgili dlls dağıtmak ve mvc 3 beta kadar sunucu üzerinde iyi çalıştı.Küresel Filtre MVC 3 RC
Dün, bilgisayar ortamımı mvc 3 RC'ye yükselttim ve web uygulamamı yeniden oluşturdum. Uygulama benim yerel bilgisayarımda iyi çalışır, ancak dağıtımı ve barındırma sunucusunda çalıştırdığımda bir hata yapar. i Global.asax içinde küresel filtreyi kayıt çalıştığınızda
[MissingMethodException: Method not found: 'Void System.Web.Mvc.GlobalFilterCollection.Add(System.Object)'.]
Myweb.MvcApplication.RegisterGlobalFilters(GlobalFilterCollection filters) in c:\my\Global.asax.cs:18
Myweb.MvcApplication.Application_Start() in c:\my\Global.asax.cs:36
Eğer Gördüğünüz gibi, o Mvc.GlobalFilterCollection.Add (nesne) yöntemini bulamadığını söylüyor.
Küresel bir filtre kaydetmezseniz, tüm web barındırma sunucusunda iyi çalışır.
Bu hatayı nasıl çözebilirim?
düzenleme: Bu mvc3 beta, barındırma sunucusunun GAC'sinde kayıtlı gibi görünüyor. Onlar değil dediler, ama benim app başvurulan System.Web.Mvc.dll konumunu kontrol ettim.
Sunucuya hangi DLL dosyalarını dağıttığını listeleyebilir misiniz? MVC 3'te şimdi System.Web.WebPages ve diğerleri de dahil olmak üzere dağıtılması gereken birkaç DLL var. .NET Framework'ün kendisinde olmayan hemen hemen her şeyin, kutudaki depo dizisine dağıtılması gerekir. – Eilon
@Eilon, Bu şeyleri dağıtmıştım. [System.Web.Mvc (ver.3), Microsoft.Web.Infrastructure.dll, System.Web.Helpers, System.Web.Razor, System.Web.WebPages, System.Web.WebPages.Razor]. –
@Eilon, ancak yukarıdaki bu diskleri sildikten sonra bile, Razor tabanlı web ile MVC 3'üm çalışıyor. Bunların zaten GAC sunucusuna kurulduğunu merak ettim, ancak teknik destek sorumlusu bunun olmadığını söyledi. Uygulama havuzu, kaldırılan dll'lerin etkisini almak için geri dönüştürülmeli mi? –