Vraag Ontbrekende verwijzing naar System.Web.Mvc in Asp.net Unit Test?


Ik heb recent een aantal unit tests gedaan voor mijn Asp.NET MVC-applicatie, of ik probeerde het, het bleef maar zeggen "Het type 'System.Web.Mvc.Controller' is gedefinieerd in een assembly waarnaar niet wordt verwezen. naar assembly 'System.Web.Mvc, Version = 5.1.0.0, Culture = neutral.' Vervolgens probeerde ik een verwijzing naar het bovenstaande toe te voegen, maar kon ik alleen versie 4.0.0.0 kiezen en nu vertelt het dat mijn project al versie 5.1.0.0 gebruikt, wat een hogere versie is. Wat te doen?

Heel erg bedankt!


12
2018-06-27 21:38


oorsprong


antwoorden:


MVC 5 komt uit een NuGet-pakket. Net zoals bij het belangrijkste MVC-webproject in uw oplossing. Installeer MVC via NuGet in uw testproject en u zou goed moeten zijn om te gaan.


24
2018-06-27 21:43



Een weloverwogen gok, maar je hebt de nieuwere versie mogelijk via een nuget-pakket verkregen (sommige van de nieuwere MVC-projectsjablonen doen dit) en dus is het niet geïnstalleerd in GAC. Gebruik de nuget-pakketbeheerder voor het MVC-project om te bepalen of dit het geval is, en zo ja, dan is het mysterie opgelost.

In het testproject kun je hetzelfde pakket toevoegen, of de addreference-> Bladeren gebruiken om in de nuget-afhankelijkheden te bladeren en rond te snuffelen onder het MVC-project tot je de DLL vindt (deze bevindt zich in het bestandssysteem ergens onder SolutionName / MvcProjectName / pakketjes).


1
2018-06-27 21:43