Отсутствует ссылка на System.Web.Mvc в Asp.net Unit Test?

Недавно я сделал некоторые модульные тесты для моего приложения ASP.NET MVC, или я попытался, он продолжает говорить мне: "Тип" System.Web.Mvc.Controller "определен в сборке, на которую не ссылаются. добавьте ссылку на сборку" System.Web.Mvc, Version = 5.1.0.0, Culture = neutral". Затем я попытался добавить ссылку на вышеупомянутое, но смог выбрать версию 4.0.0.0, и теперь он говорит мне, что мой проект уже использует версию 5.1.0.0, которая является более высокой версией. Что делать?

Спасибо, куча!

Ответ 1

MVC 5 входит в пакет NuGet. Как и в случае с основным веб-проектом MVC в вашем решении. Установите MVC через NuGet в свой тестовый проект, и вам должно быть хорошо идти.

Ответ 2

Уверенное предположение, но вы могли бы получить более новую версию через пакет nuget (некоторые из новых шаблонов проектов MVC делают это), и поэтому он не установлен в GAC. Используйте диспетчер пакетов nuget для проекта MVC, чтобы определить, действительно ли это так, и если это так, то тайна решена.

В тестовом проекте вы можете добавить один и тот же пакет или использовать addreference- > Browse для поиска зависимостей nuget и прокрутки в проекте MVC до тех пор, пока не найдете DLL (он будет находиться в файловой системе где-нибудь в SolutionName/MvcProjectName/пакеты).