Hatayı alıyorum
MvcApplication türü yüklenemedi
web sitemi çalıştırmaya çalıştığımda.
Nasıl düzeltilir?
Hatayı alıyorum
MvcApplication türü yüklenemedi
web sitemi çalıştırmaya çalıştığımda.
Nasıl düzeltilir?
Yanıtlar:
Göründüğü kadar aptalca, her şeyi denedi ve işe yaramadı ve sonunda tekrar çalıştığını görmek için VS2012'yi yeniden başlattı.
-Benim için düzeltme derleme sekmesindeki çıkış yolunu değiştirmekti. Çıkış yolunu değiştirdim bin\
ve hata gitti.
-Başka bir düzeltme, yanlış başlangıç proje setine sahip olmanız olabilir.
Aynı hatayı alıyordum ve burada ve başka yerlerde hiçbir şey işe yaramadı. Global.asax.cs kaynak kodunu, projenin farklı bir adı olan önceki bir sürümünden kopyaladığımı öğrendim. Yani namespace Test
olmalıydı namespace Test.WebUI
. Tabii aptalca bir hata ve bunu yazmak için biraz utanıyorum! Ancak başka birinden benzer bir hatanın da bu önemsiz yönü kontrol etmesine neden olabileceği ümidiyle yazmak.
Sadece çözümünüzü manuel olarak oluşturun.
Yerel IIS kullanıyorsanız, IIS yöneticisinde web sitesi kaydını silmeyi ve ardından el ile yeniden oluşturmayı deneyin.
[Sorudan alınmıştır]
Bu hatayı alıyorsanız: "MvcApplication türü yüklenemedi", projenizin Çıktı yoluna bakın ve 'bin \' olarak ayarlandığından emin olun. Sorun, varsayılan konumda değilse, AspNetCompiler dosyaları bulamıyor olmasıdır.
Çıktı klasörünü değiştirmenin bir diğer yan etkisi, kodunuzda hata ayıklayamayacağınız ve Derleme bilgisinin bulunamadığını belirten bir mesaj gelmesidir.
bin
için bin\Debug
ve bin\Release
ancak eski dosyalar benim hâlâ bin
ben herhangi bir sorun görmemişti bu yüzden klasörün. Tabii ki, temiz bir ödeme yaparsanız ve bu dosyaları inşa ederseniz sizin için mevcut değildir, bu yüzden patlar.
Aynı sorunu yaşadım ve aşağıdaki adımlarla çözdüm
Ahh bu sinir bozucuydu.
Elektrik kesintisinden sonra bu hatayı aldım ve projeme geri döndüm.
VS'yi yeniden başlatmayı denedim. Çıkış yolunu \ bin olarak ayarlamayı denedim. İsim alanlarını kontrol ettim.
Ama benim için işe yarayan çözümü yeniden inşa etmekti.
Yeniden Oluşturma Çözümü !!!
Benim çözümüm: Çünkü problemi ben yarattım! Global.asax.cs içindeki ad alanını değiştirmiştim
Global.asax'taki Devral özniteliği değerini de değiştirmeniz gerekir.
Global.asax'ta sağlanan bilgilerin arkasındaki kodu kontrol edin. Sınıfın arkasındaki kodunda doğru bir şekilde işaret etmelidirler.
global.asax örneği:
<%@ Application Codebehind="Global.asax.cs" Inherits="MyApplicationNamespace.MyMvcApplication" Language="C#" %>
arkasındaki örnek kod:
namespace MyApplicationNamespace
{
public class MyMvcApplication : System.Web.HttpApplication
{
protected void Application_Start( )
{
AreaRegistration.RegisterAllAreas( );
FilterConfig.RegisterGlobalFilters( GlobalFilters.Filters );
RouteConfig.RegisterRoutes( RouteTable.Routes );
BundleConfig.RegisterBundles( BundleTable.Bundles );
}
}
}
Bu, IIS Express'iniz aynı bağlantı noktası atamasını kullanan eski / farklı bir projeye sahipse / barındırıyorsa, projeyi görsel stüdyoda çalıştırırken de olabilir.
Bunu düzeltmek için, bu proje için bağlantı noktası atamasını değiştirebilir veya IIS Express'i kapatabilirsiniz.
IIS express'te barındırıyorsanız ve projenizi iki farklı konumda açıyorsanız, bu hatayı görebilirsiniz.
Çözüm gidip Project/Properties/Web/Servers
tıklamaktır Create Virtual Directory
.
Benim için çözüm, Mvc projesine sağ tıklamak, özellikleri seçmek ve Sanal Dizin Oluştur'u tıklamaktı.
Projenin yanlış klasöre eşlendiğini belirten bir mesaj kutusu belirdi ( farklı bir TFS projesinin klasörünü gösterdi . Doğru klasöre eşleme seçeneği verdi.
bin/
Yapım sekmesinde zaten vardı . Projenin başka bir kopyasından global.asax aldım, ancak bu işe yaramadı.
Sonunda benim için çalışan çözüm, bin/
klasörü kaldırmak ve aynı ada sahip yeni bir boş klasör oluşturmaktı.
Bunun zaten birçok çözümü olduğunu biliyorum, ama benim için neyin çözüldüğünden bahsedeceğim.
Yapılandırmam Debug olarak ayarlandı. Bunu Release olarak değiştirmek benim için hile yaptı.
Derleme zamanı hatalarına rağmen projeyi çalıştırdığım için bu hatayı alıyordum. Bunu farketmedim.
Sitenin bin klasörünün içeriğini silin (bunun için dosya gezgini kullanın). Yeniden oluşturun.
Ben buna düştüm. Daha önce verilen tüm olası çözümleri okudum ve test ettim. Oluşturma yolunu kontrol etme, oluşturma, yeniden oluşturma, temizleme, IIS ve VS2015'i yeniden başlatma, tüm nuget paketlerini yeniden yükleme, tek tek derleme vb.
Aniden VS sistem klasörlerinde bazı ASP geçici dosyaları tutar hatırladı ... Ben sonuçta, bu daha da kötüye gidebilir denemek gerektiğini düşünüyorum. Bu yüzden boşalttım:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
Ve hepsi tekrar çalışıyor ... Bu sorunun çok farklı olası çözümleri olması garip ...
Bunu son on yılda birçok kez gördüm ve tekrar aldım. Aynı hatayla sonuçlanan birçok sorun var.
Bunun bir nedeni dosyaların yeniden adlandırılmasıdır. .Cshtml dosyalarıyla çalışıyorsanız, bu dosyalardaki ve Views \ web.config dosyasındaki tüm ad alanlarını kontrol edin. Web formları için Default.aspx'i yeniden adlandırın (ilgili .cs ve tasarımcı dosyaları otomatik olarak yeniden adlandırılır). Kod arkası değişir, ancak işaretlemedeki Devral satırı değişmez. Manuel olarak değiştirin. Tasarımcı sayfasını iki kez kontrol edin. Bazen (VS2005-8?) Tasarımcı sayfası ad alanındaki bir değişikliği yansıtmaz. 2010 yılında bunu görmedim.
Başka bir sorun, tüm VS'de veya yerel PC'nizde çalışıyor, ancak dağıttığınızda değil. Bunun nedeni, dağıtım ortamının aynı şekilde yapılandırılmamış olması olabilir. Örneğin, kodunuzu bir uygulama klasörünün altındaki sanal bir dizine yerleştirirseniz hata oluşur, ancak yeni bir uygulama klasörü oluşturup tüm dosyalarınızı oraya yerleştirirseniz bu hata oluşmaz. Ben aynı izinleri (ya da ben öyle düşünüyorum) ile yeni çocuk / sanal klasör ayarladığım ve (ben inanıyorum) uygulama havuzu verilen bir uygulama klasöründe her şey için aynı çalışması gerektiğini, ben bunu anlamıyorum.
Benim durumumda, IIS sunucusundaki diğer derlemelerden güncelleştirilen derlemeler içeren bir bin klasörü de vardı. Yine, bunların ayrı bir uygulama klasöründe çalışmasını sağlamak başarı ile sonuçlanmıştır.
HTH
Dinamik olarak derlenmiş (ascx, aspx vb) bir dosyayı kaydetmek her zaman bu sorunu alıyorum. Yaklaşık 8-10 saniye beklerim, sonra gider. Cehennem can sıkıcı.
Ben muhtemelen bir IIS Express sorunu olduğunu düşündüm, bu yüzden dahili dev sunucusunda denedim ve hala bir dosyayı kaydettikten sonra alıyorum. Ben bir MVC uygulaması çalıştırıyorum, ben de T4MVC kullanıyorum, belki bu bir faktör ...
Visual Studio'da geliştirme ortamında bu sinir bozucu hatayı aldım ve sebebinin oldukça aptalca olduğu ortaya çıktı. Kısacası çözümde birden fazla web projeniz / siteniz varsa: web sitesine erişmeye çalıştığınız bağlantı noktasının Proje Özellikleri-> Web'de yapılandırılanla aynı olduğundan emin olun.
Benim durumumda, çözümdeki projeye başka bir bağlantı noktası atanırken web sitesine (tarayıcıda) erişmek için farklı bir bağlantı noktası kullandığımdan dolayı hata oluştu. Biraz daha açıklamak için, çözümüm Website1'de (ISS'de Visual-Studio tarafından 8001 numaralı bağlantı noktasına atanmış) ve Website2'de (Visual Studio tarafından ISS'de 8101 numaralı bağlantı noktasına atanmış) iki web sitesi projem vardı. Bu yüzden Website1 inşa ediyor olsam da, web sitesine locahost: 8101 kullanarak erişmeye çalışıyordum.
Nihayet sorunu fark ettiğime göre, @ StingyJack'in yorumunun da benzer sorunu ele aldığını görüyorum.
Global.asax.cs dosyasındaki ad alanının web uygulamanızın ad alanıyla eşleştiğinden emin olun
Yine bu hatayı aldım ve yukarıdakilerin hiçbiri benim için çalışmadı. Ben .Csproj dosyasında aşağıdaki düğümünü kaldırmak zorunda kaldı: <VisualStudio>....</VisualStudio>
. Reloaded VS ve işe yaradı.
FYI, VS düğümü yeniden oluşturabildim ve sonra web sitesini IIS'de (VS aracılığıyla) yeniden oluşturdum ve mükemmel çalıştı.
Umarım bu birisine yardım eder.
Benim için işe yarayan Visual Studio'yu yeniden başlatmaktı.
Manuel olarak yeniden oluşturmayı, temizlemeyi ve yeniden oluşturmayı ve bin klasörünü silmeyi denedim, hepsi işe yaramadı. Çıkış yolum zaten bin \
Bir ad alanını değiştirdiyseniz, sağ tıklayıp yeniden düzenleme işlemini yaptığınızdan emin olun.
Ad alanınızı değiştirirseniz bu çok sık olabilir. Ad alanınızın adını, tıpkı eskisi gibi döndürün, bu da işe yarayacaktır!
Bazı durumlarda, oluşturduğunuz yeni projeler varsayılan olarak derlenecek şekilde ayarlanmaz. Çözümünüzü sağ tıklatıp Properties
seçin ve Configuration Properties
| Configuration
düğümü tıklayın ve projenizin Build
sütun altında bir onay işareti olduğundan emin olun . Normal koşullarda bunun varsayılan olarak olduğunu fark ettim. Diğer durumlarda (bu davranışı gösteren biraz karmaşık bir Web Api / Xamarin Android ve iOS / Mvc 5 çözümüm var) onay işareti mevcut değil.
Bu diğer yanıtlarla ilgilidir - web projektörünüzün montajı kullanılamıyorsa, bu hatayı alırsınız. Ancak bu, özellikle çözümünüzü derlediğiniz için ortak bir senaryo olabilir - proje henüz inşa edilmiyor.
Bu hatayı aldım çünkü sürüm kontrolüm bin klasörünü yoksaymaya ayarlanmıştı . Çok aptalca, ama belki bir başkası bundan fayda sağlayacaktır.
Bu problemle karşılaştım ve her türlü cevabı görüyorum ama hiçbir şey kabul edilmedi. Biraz sonra sadece çalıştırmak için çalışmadan önce web sitesi inşa benim sorunum çözüldü keşfetti.