Возврат представлений после обновления до MVC3 VS2010 и .NET 4.0 - PullRequest
1 голос
/ 07 марта 2011

Я перечислил все обновленные части, так как понятия не имею, какой из них может повлиять на эту часть кода.

Раньше проектом были MVC1 VS2008 и .NET 3.5, но в настоящее время я работаю над его обновлением до MVC3 VS2010 и .NET 4.0.

Одна из многих проблем, с которыми я столкнулся (но до сих пор не смог исправить), заключается в том, что я получаю сообщение об ошибке:

System.MethodAccessException: Attempt by method 'ProjectSupport.Web.Controllers.ChangesController2<TChange,TChangeService>.Edit(Int32, ProjectSupport.Core.Services.IProjectEntityService)' to access method 'System.Web.Mvc.Controller.View(System.String)' failed.

когда я запускаю свои модульные тесты, но у меня не было проблем с запуском программы, это так. Кажется, что ошибка вызывается, когда я возвращаю представления строкой, но я не знаю, есть ли у него такая же проблема, когда он возвращает представления любым другим методом, так как у меня нет примеров того, что я мог бы проверить .

Вот пример кода, который вызывает проблему:

[AcceptVerbs(HttpVerbs.Get)]
    public ActionResult Details(int id, IAuthenticationService authenticationService)
    {
        var change = GetEntity(id);
        var person = authenticationService.AuthenticatedPerson();

        ViewData.Model = change;

        if (ChangeOwnedByPerson(change, person))
            return View("DeveloperDetails");

        return View("Details");
    }

Обратите внимание, что этот код работает на практике и работал до обновления. У кого-нибудь есть идеи, которые могли бы указать мне правильное направление?

...