Asp.NET MVC’de “The Following Errors Occurred While Attempting To Load The App” Hatası ve Çözümü

Merhaba,

Bu içeriğimizde bir çalışmam esnasında almış olduğum olası bir hata üzerine duracağız. Tabi ki de her makalede olduğu gibi olayı izah edebilmek için örnek bir olay üzerinden konuyu seyr edeceğiz. Değineceğimiz hatamız “The Following Errors Occurred While Attempting To Load The App” başlıklı hatadır. Şimdi gelin bu hatayı hangi durumlarda karşımıza çıkabileceğini çözümüyle birlikte ele alalım.

Asp.NET MVC – SignalR ve SqlDependency Eşliğinde Notifications başlıklı makaleyi hatırlıyorsunuzdur 🙂 Bu makale içeriğindeki yapıları yönergeleriyle beraber şuanda üzerinde çalıştığım bir projede uygulamaktayım. Lakin projemi derleyip çalıştırdığım zaman aşağıdaki hatayla karşılaşmaktayım.
Asp.NET MVCde The Following Errors Occurred While Attempting To Load The App Hatası ve Çözümü

Hatamızı metinsel olarakta aşağıda paylaşmakta fayda görüyorum.

The following errors occurred while attempting to load the app.
– No assembly found containing an OwinStartupAttribute.
– No assembly found containing a Startup or [AssemblyName].Startup class.
To disable OWIN startup discovery, add the appSetting owin:AutomaticAppStartup with a value of “false” in your web.config.
To specify the OWIN startup Assembly, Class, or Method, add the appSetting owin:AppStartup with the fully qualified startup class or configuration method name in your web.config.

Evet… Şimdi sıra bu hatayı yukarıda paylaştığım içeriğin hangi adımında, ne gibi yapılan bir eksiklik sonucu aldığıma değinmeye geldi.

İlgili makalede “Adım 3” yönergesine geliniz. Söz konusu yönergede “App_Start” klasörüne “Startup.cs” isimli bir sınıf oluşturulmasını ve içeriğinin aşağıdaki gibi inşa edilmesini belirtmekteyim.

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        app.MapSignalR();
    }
}

Bu adımdan sonra ilgili makalede diğer adımlarıda tamamlayarak projemizi derleyip çalıştırdığımızda konumuzun içeriği olan hatamızla karşılaşmaktayız. Anlayacağınız hatamızın sebebi 3. adımdan kaynaklanmakta ve burada eksik bir kod, yanlışa meyilli bir uygulama gerçekleştirmekteyiz.

Öncelikle eksik olan ve hatadan bizi arındıracak kodumuzun ne olduğundan bahsedelim. Ardından yanlışa meyilli olan uygulamamızı, bu hataya mahal vermeyecek şekilde izah edip, değiştirelim.

“Startup.cs” sınıfımızın bulunduğu namespace’i aşağıdaki attribute ile işaretleyip, assembly’i çağıralım.

[assembly: OwinStartup(typeof(ProjeAdi.App_Start.Startup))]
//ProjeAdi'nı, kendi projenizin adıyla değiştirmeyi unutmayınız.

Yani işlemimiz neticesinde “Startup.cs” sınıfının namepsace ile birlikte içeriği aşağıdaki gibi olacaktır.

using System;
using System.Threading.Tasks;
using Microsoft.Owin;
using Owin;

[assembly: OwinStartup(typeof(ProjeAdi.App_Start.Startup))]

namespace WebApplication2.App_Start
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.MapSignalR();
        }
    }
}

İşte bu attribute’un eklenmesi neticesinde ilgili hatadan projeyi arındırabilmekteyiz.

Peki… Düzeltmemiz gereken yanlışa meyilli uygulamamıza gelirsek eğer, “Startup.cs” sınıfını manuel olarak eklemektir. Bu durumda yukarıda paylaştığım attribute’u bilinçsiz bir şekilde göz ardı etmekte veya unutmaktayız. Bu yüzden ilgili sınıfı aşağıdaki ekran görüntüsünde olduğu gibi “App_Start” klasörüne sağ tıklayarak “Add” -> “New Item” diyerek karşımıza çıkan ekrandan “OWIN Startup class” nesnesini seçerek bu kombinasyonlar eşliğinde eklemekte fayda vardır.

Asp.NET MVCde The Following Errors Occurred While Attempting To Load The App Hatası ve Çözümü
Asp.NET MVCde The Following Errors Occurred While Attempting To Load The App Hatası ve Çözümü

Bu şekilde eklendiğinde sınıfımız karşımıza direkt tüm gerekli ayarlarıyla gelecektir.

Evet… Bir hatadan da kurtulmuş olduk 🙂

Sonraki yazılarımda görüşmek üzere…
Şimdilik hoşçakalın…
İyi çalışmalar…

Bunlar da hoşunuza gidebilir...

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

CAPTCHA (Şahıs Denetim Kodu) Resmi

*

Copy Protected by Chetan's WP-Copyprotect.