Ma nouvelle application Web ASP.NET MVC fonctionne sur mon poste de travail de développement, mais ne fonctionne pas sur mon serveur Web ...
Erreur serveur dans l'application '/'
Erreur de configuration
Description: une erreur s'est produite lors du traitement d'un fichier de configuration requis pour traiter cette demande. Veuillez consulter les détails d'erreur spécifiques ci-dessous et modifier votre fichier de configuration en conséquence.
Message d'erreur de l'analyseur: impossible de charger le fichier ou l'assembly «System.Web.Mvc, version = 1.0.0.0, Culture = neutre, PublicKeyToken = 31bf3856ad364e35» ou l'une de ses dépendances. Le système ne peut pas trouver le fichier spécifié.
Erreur source:
Line 44: <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 45: <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 46: <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 47: <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
Line 48: <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
Fichier source: C: \ inetpub \ www.example.org \ web.config Ligne: 46
Trace de charge de l'assemblage: l'assembly Les informations suivantes peuvent être utiles pour déterminer pourquoi l'assembly 'System.Web.Mvc, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' n'a pas pu être chargé.
WRN: la journalisation des liaisons d'assemblage est désactivée. Pour activer la journalisation des échecs de liaison d'assembly, définissez la valeur de Registre [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) sur 1. Remarque: Il y a une pénalité de performance associée à la journalisation des échecs de liaison d'assembly. Pour désactiver cette fonctionnalité, supprimez la valeur de Registre [HKLM \ Software \ Microsoft \ Fusion! EnableLog].
Informations sur la version: Microsoft .NET Framework Version: 2.0.50727.3053; Version ASP.NET: 2.0.50727.3053
Dois-je installer AspNetMVCBeta-setup.msi sur le serveur? Ou existe-t-il un programme d'installation différent pour les serveurs?
la source
J'ai rencontré le même problème que sgriffinusa. En plus des références, l'article de Phil suggère: http://www.haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx . J'ai ajouté ceux-ci:
Le déploiement de Godaddy a parfaitement fonctionné. Désactivez les erreurs personnalisées et ajoutez des références pour corriger les erreurs. Cela devrait vous conduire dans la bonne direction.
la source
L'installation de MVC directement sur votre serveur Web est une option, car les assemblages seront alors installés dans le GAC. Vous pouvez également déployer les assemblys en bin, ce qui peut aider à garder votre serveur à l'abri des assemblys de pré-version jusqu'à ce qu'une version finale soit disponible.
Il y a quelques jours, Phil Haack a publié un bel article sur la façon de déployer MVC avec votre application, il n'est donc pas nécessaire d'installer directement:
http://www.haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx
la source
J'ai rencontré ce même problème en essayant de déployer mon application Web MVC3 Razor sur l'hébergement partagé GoDaddy. Il existe quelques .dll supplémentaires qui doivent être référencés. Détails ici: http://paulmason.biz/?p=108
Fondamentalement, vous devez ajouter des références aux éléments suivants en plus de ceux répertoriés dans la publication de @ Haacked et les configurer pour un déploiement local comme décrit.
la source
Dans VS2010, cliquez avec le bouton droit sur le projet dans l'Explorateur de solutions et sélectionnez «Ajouter des dépendances déployables». Cochez ensuite les cases relatives à MVC dans la boîte de dialogue suivante.
Cela crée un dossier «_bin_deployableAssemblies» dans le projet qui contient tous les fichiers .dll mentionnés dans d'autres réponses. Je crois que ceux-ci sont copiés dans le dossier bin lors de la création d'un package de déploiement.
la source
Solution simple. Dans VS2010, faites un clic droit sur votre projet MVC, sélectionnez "Ajouter des dépendances déployables ...", sélectionnez les options souhaitées et cliquez sur ok
la source
Solution rapide et simple: j'ai rencontré ce problème avec Microsoft.AspNet.Mvc -Version 5.2.3 et après avoir parcouru tous ces fils, j'ai trouvé une solution la plus simple.
Suivez simplement les étapes:
Cela corrigera automatiquement tous les problèmes avec les références. Voir l'image ci-dessous:
la source
A eu le même problème et a ajouté tout l'assemblage qu'ils ont dit, mais a toujours eu la même erreur.
s'avère que vous devez faire de la " version spécifique " = False.
la source
Nous voulons l'ajouter parce que nous créons une bibliothèque de classes qui l'utilise.
Pour moi, c'est ici ...
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies
la source
Si vous N'UTILISEZ PAS de fournisseur d'hébergement et que vous avez accès au serveur pour installer ... Ensuite, installez les outils de mise à jour MVC 3, faites-le ... cela vous fera économiser des heures de problèmes sur un serveur Windows 2003 / machine IIS6. , Je commentais sur cette page ici mismatch numéro de version Nuget.Core.dll
la source
En plus du poste Haack, Hanselman a également un poste similaire. BIN Déploiement d'ASP.NET MVC 3 avec Razor sur un serveur Windows sans MVC installé
Pour moi, la solution "Copier local = vrai" était insuffisante car les références de projet de mon site Web n'incluaient pas toutes les DLL manquantes. Comme Scott le mentionne dans son article, j'avais également besoin d'obtenir des DLL supplémentaires à partir du dossier suivant sur ma boîte de développement: C: \ Program Files (x86) \ Microsoft ASP.NET \ ASP.NET Web Pages \ v1.0 \ Assemblies. Le message d'erreur m'a informé de la DLL manquante (System.Web.Infrastructure, System.Web.Razor, etc.). J'ai continué à ajouter chaque DLL manquante, une par une, jusqu'à ce que cela fonctionne.
la source
J'ai effectué un "Update-Package –reinstall Microsoft.AspNet.Mvc" pour le corriger dans Visual Studio 2015.
la source
Une considération importante est le fichier web.config, certains packages peuvent modifier vos redirections de liaison, causant des ravages (le package escroc était dans le package interne que je n'ai pas supprimé le web.config du package ou en veillant à ce que le web.config dans le package n'a pas de redirection de liaison. Par exemple, en supprimant le nœud en double et incorrect, cela résout ce problème.
en supprimant les lignes 8 à 24 corrige la construction.
la source
Vérifiez également la version de l'assembly dans le fichier web.config à l'intérieur de votre dossier Views et assurez-vous qu'elle correspond. J'oublie parfois qu'il y a un 2ème web.config à cet endroit.
la source
Ce billet de blog pourrait être un double de celui de Phil, mais cela pourrait aider:
http://www.tugberkugurlu.com/archive/deployment-of-asp-net-mvc-3-rc-2-application-on-a-shared-hosting-environment-without-begging-the-hosting-company
la source
J'ai eu le même problème avec un tas de fichiers d'assemblage après avoir déplacé le projet vers une autre solution.
Pour moi, le
web.config
fichier essayait d'ajouter cet assemblage:Je pensais que la référence dans le projet pointait vers la version
3.0.0.0
(cliquez sur la référence et faites défiler vers le bas des propriétés). Par conséquent, je viens de changer la version de référence dans leweb.config
fichier.Je ne sais pas si c'était juste un bug quelconque. Le problème avec l'ajout de toutes les autres références était que les références apparaissaient dans le fichier de configuration mais qu'elles n'étaient en fait pas du tout référencées dans le projet (à l'intérieur de l'explorateur de solutions) et que les fichiers nécessaires n'étaient pas copiés avec les autres fichiers du projet, probablement en raison de ne pas être
"copy local = true"
Maintenant, je n'ai pas pu trouver ces assemblages dans les assemblages pouvant être ajoutés (en cliquant avec le bouton droit sur la référence et en essayant de les ajouter à partir des assemblys ou des extensions). Au lieu de cela, j'ai créé une nouvelle solution MVC qui a ajouté tous les assemblages et références dont j'avais besoin, et les trouver sous les nouvelles références de projets dans l'explorateur de solutions et trouver leur chemin dans la fenêtre des propriétés de la référence.
Ensuite, je viens de copier les bibliothèques dont j'avais besoin dans l'autre projet et de les référencer.
la source
Après avoir tout essayé et toujours échoué, c'était ma solution: je me suis souvenu que j'avais eu une erreur lors de la dernière mise à jour de la version MVC dans mon Visual Studio, donc j'ai exécuté le projet à partir d'un autre Visual Studio (ordinateur différent) et ensuite téléchargé les DLL et cela a fonctionné. peut-être que cela aidera quelqu'un ...
la source
J'utilise Jenkins avec des projets .net et j'ai eu des problèmes avec les références MVC 4.
J'ai finalement résolu mon problème en utilisant une fonctionnalité de moteur de recherche de référence .Net basée sur le registre en utilisant:
"HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft.NETFramework \ v2.0.50727 \ AssemblyFoldersEx"
Vous pouvez créer une sous-clé et définir la clé par défaut sur "c: \ myreferenceedir" par exemple.
Cela m'a sauvé avec des versions MVC et aussi des pages Web ASP.net.
Utile pour ajouter des références à la "boîte de dialogue Ajouter une référence"
http://dhakshinamoorthy.wordpress.com/2011/12/04/how-to-register-your-net-assembly-in-gac-and-make-it-show-in-add-reference-dialog/
la source
Comme d'autres l'ont mentionné, ajoutez ces références aux studios visuels avec
Copy Local
set totrue
. (J'ai aussi dû ajouterSystem.Web.Webpages
)la source
J'ai ajouté "Microsoft ASP.NET Razor" à l'aide de Manage NuGet Packages.
Avec Ajouter des références, pour une raison quelconque, je n'avais que System.Web.Helpers 1.0.0 et 2.0.0 ... mais pas 3.0.0.
Une autre option, qui a fonctionné pour moi, a été de supprimer les références à System.Web.Mvc et System.Web.Http ... puis de les ajouter à nouveau aux emplacements des packages dans le fichier csproj (vous pouvez plus facilement modifier le projet avec un éditeur de texte):
la source