6
votes

Impossible de mettre à jour le package Nuget "Microsoft ASP.NET MVC" à partir de la version 4.0.20710.0 à 5.1.2

J'ai le package hors date suivant dans Nuget:

Entrez la description de l'image ici

Cependant, lorsque je clique sur le bouton de mise à jour, je reçois l'erreur suivante:

Erreur: Mise à jour 'Microsoft.Aspnet.mvc 4.0.20710.0' à 'Microsoft.Aspnet.mvc 5.1.2' a échoué.

Impossible de trouver une version de 'aspnetmvc' compatible avec 'Microsoft.aspnet.mvc 5.1.2'.

Cela se produit sur les deux projets qui utilisent ce package:

Entrez la description de l'image ici

Je cours sur .NET 4.5 Cadre sur les deux projets. Est-ce que je peux faire quelque chose pour mettre à niveau ce package ou n'est-ce pas compatible avec 4.5, ou devrais-je utiliser un package Nuget différent maintenant?


0 commentaires

3 Réponses :


3
votes

MVC 5.1 est encadré sur .NET 4.5.1. C'est le premier de vos problèmes. Vous devez modifier votre cadre cible en ".NET Framework 4.5.1" dans le menu contextuel du projet> Propriétés.

Si cela ne fonctionne pas, vous pouvez désinstaller le paquet MVC et le réinstaller.

Mon expérience a été que la mise à niveau des principales versions peut être une douleur et votre attention portée aux détails - en particulier lors de la modification de Web.config- est primordiale. Vous pouvez vérifier le guide en passant de 4 à 5 ici, puis ajustez en conséquence pour 5.1: http://www.asp.net/mvc/tatudials/ MVC-5 / HOW-TO-Upgrade-an-aspnet-mvc-4-and-web-API-PROJET-TO-ASPNET-MVC-5-anD-web-API-2

En fonction de la complexité de votre projet, il peut être plus facile de simplement transférer vos fichiers de code existants dans un projet nouvellement créé à l'aide du modèle 4.5.1 Visual Studio MVC.


2 commentaires

Super! Nous venons de passer à partir de .NET 4.0 à 4.5, donc je vais essayer d'aller à 4.5.1 et voyez si cela aide.


Merci! Ciblage 4.5.1 et supprimer et réinstaller le colis fixé le problème. Maintenant, je reçois des erreurs d'exécution lorsque je charge le site mais je suppose que c'est un problème distinct. Marquant cela comme la réponse.



2
votes

Autant que je puisse dire, la mise à niveau vers 4.5.1 n'a pas réellement fixé le problème. En fait, j'ai pu le réparer tout en laissant le cadre cible à 4.5.

Voici la magie noire que j'ai effectuée qui semblait la réparer. Tout d'abord, désinstallez les 3 anciennes bibliothèques MVC (comme suggère dans ce commentaire ), réinstallez les nouveaux, reconstituez. Au moins pour cette partie, je pourrais le faire dans le Nuge Gérer les packages UI, où la mise à jour a échoué au même endroit. À ce stade, Nuget est heureux, vous pouvez compiler, mais votre application ne fonctionnera pas réellement.

Suivant, assurez-vous de suivre absolument toutes les étapes dans le Mettez à niveau le document ASP.NET 4 référencé dans l'autre commentaire . Lorsque j'ai accidentellement omis même une étape, j'aurais des erreurs étranges et non intuitives (évidentes dans Retrospect). Par exemple, vous devez mettre à jour deux fichiers web.config distincts, racine et une sur le répertoire Vues. Vous devez trouver les anciens numéros de version et les modifier manuellement dans celui-là, où le web root.config est parfois automatiquement fixé pour vous. Sinon, je considérerais des erreurs effrayantes comme "les règles de sécurité de l'héritage violées par type system.web.webpages.razor.webpagerazorhost" et ainsi de suite. J'aurais dû copier chaque message d'erreur pour la postérité que je suppose, mais le point est que, pour chaque erreur, je reviendrais à ce guide de mise à niveau, vérifiez les étapes, réalisez-vous que j'ai raté un, corrigez et puis obtenir une nouvelle erreur jusqu'à ce qu'ils soient tous est parti.

Il y a de bonnes nouvelles. Dans mon cas au moins, malgré toutes les avertissements graves que vous devez aller trouver des incompatibilités, le reste de l'application fonctionnait comme avant sans aucun changement.


0 commentaires

12
votes

Changer d'abord le cadre du projet en 4.5.1

Ouvrez la console de gestionnaire de packages Nuget et

  1. désinstallation-package aspnetmvc
  2. désinstallation-package Microsoft.aspnet.mvc
  3. Install-package Microsoft.aspnet.mvc

    Cela fonctionne pour moi.


0 commentaires