MVC4 Azure Publication d'Erreur - impossible de charger le fichier ou l'assembly 'Système.Web.Rasoir'
Le projet fonctionne très bien en local, c'est seulement quand publiées j'obtiens l'erreur suivante:
Impossible de charger le fichier ou l'assembly 'Système.Web.Rasoir' ou une de ses dépendances. L'assemblée manifeste définition ne correspond pas à la référence d'assembly. (Exception de HRESULT: 0x80131040)
Ayant passé quelques heures googler le problème semble être qu'un package nuget j'ai ajouté les références de projet de rasoir 1 et a remplacé mon rasoir 2 dll. J'ai essayé de copier le rasoir 2.0.0.0 dll dans refernces au lieu de 1, mais l'erreur persiste. C'est là que le conflit est indiqué dans le détail de la sortie de génération:
Il y avait un conflit entre le "Système.Web.Rasoir, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" et "le Système de.Web.Rasoir, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35".
1> "le Système de.Web.Rasoir, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" a été choisi parce qu'il était le primaire et le Système".Web.Rasoir, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" ne l'était pas.
1> Références qui en dépendent "du Système.Web.Rasoir, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" [C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\System.Web.Razor.dll].
1> C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\System.Web.Razor.dll
1> fichier de Projet poste comprend ce qui a causé de référence "C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\System.Web.Razor.dll".
1> Système.Web.Rasoir, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL
1> Références qui en dépendent "du Système.Web.Rasoir, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" [C:\Users\Jack\SkyDrive\LessonUp.Current\packages\RazorEngine.3.0.8\lib\net40\System.Web.Razor.dll].
1> C:\Users\Jack\SkyDrive\LessonUp.Current\packages\Microsoft.AspNet.WebPages.2.0.20710.0\lib\net40\System.Web.WebPages.Razor.dll
1> fichier de Projet poste comprend ce qui a causé de référence "C:\Users\Jack\SkyDrive\LessonUp.Current\packages\Microsoft.AspNet.WebPages.2.0.20710.0\lib\net40\System.Web.WebPages.Razor.dll".
1> Système.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL
1> Recaptcha
À partir de là, il continue à la liste d'autres paquets en fonction de rasoir 2.
Paquets que j'ai ajouté au projet ont été;Recaptcha, Recaptcha.mvcModel et des services Postaux.
Quelqu'un aurait-il une idée de ce que je peux prendre pour résoudre ce problème?
Laissez-moi savoir si il y a plus d'informations que je peux donner qui peut conduire à une solution.
OriginalL'auteur jakhicks | 2013-02-13
Vous devez vous connecter pour publier un commentaire.
Assurez-vous que le 2.0 dll est référencé et copie locale = true, puis essayez d'ajouter un assembly de redirection de liaison dans le web.config:
Merci. Réglage
Copy local=true
a fonctionné pour moi. Il semble que ce devrait être la valeur par défaut pour les nouveaux projets, en particulier lors de l'ajout de références avec nuget.J'ai changé le oldversion à 1.0-3.0 et de la nouvelle version 4.0 - Ce résolu le problème pour moi après la mise à jour d'une ancienne VS2012 MVC3 projet dans VS2013 à MVC4.
ajouter la redirection produit une erreur pour moi, comme indiqué ici: razorengine.codeplex.com/workitem/1110
OriginalL'auteur viperguynaz
J'ai eu le même problème avec Postal 0.8.0 dans un MVC4 projet. Lorsque vous installez Postale avec NuGet il remplace
System.Web.Razor 2.0
avecSystem.Web.Razor 1.0
. J'ai dû supprimer la référence àSystem.Web.Razor 1.0
et ensuite ajoutée dansSystem.Web.Razor 2.0
. Vous devez en outre définir Copie Locale àTrue
dans les Propriétés deSystem.Web.Razor
et la cours de reconstruire le projet. Une fois que je l'ai fait VS2012 copié leSystem.Web.Razor.dll
pour le déploiement de bin et le problème résolu..Postal ajoute également ces dépendances pour le web.config. Je l'ai enlevé et il fonctionne toujours correctement.
OriginalL'auteur Joe
Finalement obtenu cette triés, téléchargé razor2.0 encore de nuget. Semblait trier les webconfig et corriger les problèmes de dépendances. Est en place et en cours d'exécution sur azure pas sans problème.
OriginalL'auteur jakhicks
Vérifier votre fichier de projet et web.config pour voir s'ils ont été munged par un package NuGet. Un problème connu de l'enfant est postal 0.8.0. Il tire en tant que dépendance d'une version bêta de RazorVersion (même si vous avez filtrée pour afficher stable uniquement). Même si vous mettez à jour RazorVersion à la dernière version, qui est stable, votre fichier de projet se termine le référencement
System.Web.Razor
la version 1, et votre site web.config est incorrect d'exécution de l'assemblée des liaisons.De fixer, faire un diff sur le fichier de votre projet et web.config à l'encontre de ceux d'un nouveau, vide MVC 4 du projet. Puis les copier sur le bon
Reference
élément pourSystem.Web.Razor
à partir du fichier de projet d'origine. Dans le web.config, supprimer ladependentAssembly
élément pourSystem.Web.Razor
.Voici la TLDD (trop paresseux, n'est-ce pas diff) texte de votre fichier de projet. Heureusement, le temps que cet extrait est en dehors de la date, la cause sous-jacente(s) sera fixé.
(Malheureusement, vous ne pouvez pas résoudre ce problème en désinstallant et en réinstallant avec NuGet, parce que vous devez d'abord désinstaller la délinquance package dépendant notamment les services postaux, qui re-casser des choses quand vous le ré-installer.)
OriginalL'auteur Edward Brey
Original..
Pour quelque raison nouvelleversion attribut a été défini à la version 2.0.0.0 tandis que la dll a été de 3.0.0.0
Qu'il a travaillé
OriginalL'auteur Artiom