Impossible de charger le fichier ou l'assembly 'Système.Web.Mvc
J'ai une solution avec différents projets, l'Un de ceux est un MVC 3 du projet, et l'autre est un projet de test.
Du projet de test, je suis en train de tester mon contrôleurs de comportement. Mais quand je suis à l'exécution d'un test, le système renvoie une erreur me disant ceci:
Système.IO.FileNotFoundException: impossible de charger le fichier ou l'assembly 'Système.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ou une de ses dépendances. Le système ne peut pas trouver le fichier spécifié.
WRN: Assemblée de liaison de la journalisation est DÉSACTIVÉE.Pour activer l'échec de liaison d'assembly journalisation, définissez la valeur de registre[HKLM\Software\Microsoft\Fusion!EnableLog]
(DWORD) à 1.
Le code de la test os suivants:
[TestMethod]
public void TestMethod()
{
var myService = new Mock<IMyService>();
myService.Setup(a => a.ReadAuthorizationRequest())
.Returns<EndUserAuthorizationRequest>(null);
int error = 0;
var controller = new myController(myService.Object);
try
{
var actionResult = controller.Authorize();
}
catch (HttpException exception)
{
error = exception.GetHttpCode();
}
Assert.AreEqual(403, error);
}
le contrôleur:
public class myController: Controller
{
private readonly IMyService _service;
public OAuthController(IMyService service)
{
_service = service;
}
[Authorize, AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)]
public ActionResult Authorize()
{
ClientApplication requestingClient;
var request = _service.ReadAuthorizationRequest();
if (request == null)
{
throw new HttpException((int) HttpStatusCode.BadRequest,
"Missing authorization request.");
}
}
}
Comme vous pouvez le voir, je suis en train de tester le comportement de contrôleur, de sorte que, chaque fois que le service n'a pas lu la demande, le contrôleur devrait lancer une httpException avec httpStatusCode 403.
Quel est le problème avec cela. Je vous remercie à l'avance.
Vous devez vous connecter pour publier un commentaire.
De votre exception:
Il est en train de charger MVC version 1. Vous avez probablement besoin de faire une liaison d'assembly de redirection dans votre projet de test ainsi, de même que celui du web.config:
Le placer que dans le
configuration
section de l'app.config de votre test de montage.J'ai eu le même message d'erreur après avoir installé VS 2012, aucun des projets dans ma solution de référence le Système.Web.Mvc. Le problème a été résolu pour moi quand j'ai ajouté le System.Web.Mvc.dll à la GAC.
Voici les étapes que j'ai fait:
J'espère que cette aide.
Au cas où quelqu'un est à la recherche d'une solution à ce problème dans Visual Studio 2012, ce site m'a beaucoup aidé:
http://www.yeronimo.nl/post/2013/03/27/Error-1-Referencesvcmap-Could-not-load-file-or-assembly-xxxxxxx-etc
(aussi: http://www.christowles.com/2012/08/could-not-load-file-or-assembly.html)
Cliquez-droit sur le service web de référence (de Référence.svcmap) dans le projet de l'explorateur de solution (sous App_WebReferences > [Nom du Service Web] > Référence.svcmap) et cliquez sur "Configurer le Service de Référence...", puis décochez la case qui dit "la Réutilisation des types dans les assemblys référencés".
Cliquez sur OK, puis de reconstruire le projet! Il a travaillé pour moi!
Ou vous pouvez ajouter une référence à la bonne version de la dll dans le projet de test.