Mam projekt, dla którego używam StructureMap do iniekcji zależności. Projekt kompiluje grzywny jako projekt MVC, ale po przeniesieniu wszystko do projektu MVC2 Jestem teraz Otrzymuję następujący błąd:ASP.NET MVC 2 Preview 1 - Problem z kompilacją sterownika StructureMap Factory
Test.Web.Controllers.StructureMapControllerFactory.GetControllerInstance(System.Type)': no suitable method found to override C:\Test\Web\Controllers\StructureMapControllerFactory.cs 11 40 Test.Web
Oto moja StructureMapControllerFactory:
using System;
using System.Web.Mvc;
using StructureMap;
namespace Test.Web.Controllers
{
public class StructureMapControllerFactory : DefaultControllerFactory
{
protected override IController GetControllerInstance(Type controllerType)**
{
IController result = null;
try
{
if (controllerType == null) return base.GetControllerInstance(controllerType);
result = ObjectFactory.GetInstance(controllerType) as Controller;
}
catch (StructureMapException)
{
System.Diagnostics.Debug.WriteLine(ObjectFactory.WhatDoIHave());
throw;
}
return result;
}
}
}
Znalazłem jedno stanowisko semi- powiązany z tym problemem, ale nie oferował żadnych informacji na temat sposobu rozwiązania mojego problemu: MVC 2 preview 1 - methods with parameters in the controller fail to load
Oczywiście brakuje mi zmiany od progresji 1,0-2,0, ale nie jestem pewien, co się zmieniło. Każda pomoc jest zawsze doceniana.
Dziękuję bardzo Craig. Zastanawiam się, dlaczego nie jest to odzwierciedlone w przeglądarce obiektów VS podczas eksploracji przestrzeni nazw System.Web.MVC [2.0.0.0]. –
Nie jestem pewien, ale możesz wpisać ov [spacja] w edytorze kodu (tzn. Zacząć pisać "przesłonić", gdzie normalnie zadeklarujesz nową metodę), aby uzyskać listę metod przeciążeniowych dla aktualnej klasy z ich podpisami. –