Asp.Net MVC’de farklı dizinlerde (farklı arealar) olmasına rağmen birden fazla aynı isme sahip Controller kullanmak istediğimizde aşağıdaki gibi bir hatayla karşılaşıyoruz.
Multiple types were found that match the controller named ‘Home’. This can happen if the route that services this request (‘{controller}/{action}/{id}’) does not specify namespaces to search for a controller that matches the request. If this is the case, register this route by calling an overload of the ‘MapRoute’ method that takes a ‘namespaces’ parameter.
Bu sorunun önüne geçebilmek için App_Start klasöründe bulunan RouteConfig.cs dosyasında düzenleme yapmamız gerekiyor.
RouteConfig.cs dosyamızdaki routes.MapRoute bölümününe aşağıdaki namespace parametresini ekliyoruz. ProjeAdiniz yazan kısma kendi proje adınızı yazınız.
[csharp]routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new string[] { "ProjeAdiniz.Controllers"}
);[/csharp]
5 yorum
Teşekkürler
Çok sağolun hocam:)
Sevgili Sinan Bozkuş, bilge adam öğrencileri olarak namespaces: new string[] { “ProjeAdiniz.Controllers”} kodunda boşlukları kontrol etmemiz gerektiğini de belirtirseniz seviniriz. Bilgiler için teşekkürler. İyi günler.
DN:Cihan Hoca arkanızdan çok sallıyo ;)
hala aynı hatayı alıyorum
Hocam Çok Teşekkür Ederim Sorunum Çözüldü :)