Я перечислил все обновленные части, так как понятия не имею, какой из них может повлиять на эту часть кода.
Раньше проектом были 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");
}
Обратите внимание, что этот код работает на практике и работал до обновления. У кого-нибудь есть идеи, которые могли бы указать мне правильное направление?