2015-05-19 18 views
9

Ho appena creato un nuovo progetto ASP.NET MVC 6 e ho voluto aggiornare i pacchetti NuGet alle loro ultime versioni (i modelli di progetto predefiniti sono in genere molto obsoleti). Ho notato che i seguenti aggiornamenti erano possibili:Aggiornamento dei pacchetti NuGet in ASP.NET MVC 6

  • Antlr.3.4.1.9004> Antlr.3.5.0.2
  • Newtonsoft.Json.6.0.4> Newtonsoft.Json.6.0.8
  • WebGrease.1.5. 2> WebGrease.1.6.0

Quando provo ad aggiornare questi pacchetti appassiscono utilizzando la finestra di package NuGet o aggiornare i numeri di versione nel file project.json per Newtonsoft.json, ricevo errori.

1) Severity Code Description Project File Line Error Not implemented (Exception from HRESULT: 0x80004001 (E_NOTIMPL)) 0

2) Severity Code Description Project File Line Error NuGet Package Restore failed for one or more packages. See details in the Output window. Mvc6ProjectName C:[PATH TO MY FOLDER]\Source\Mvc6ProjectName\project.json 0

3) Severity Code Description Project File Line Error Dependency Newtonsoft.Json >= 6.0.8 could not be resolved Mvc6Boilerplate C:\Git\ASP.NET-MVC-Boilerplate\Source\MVC6\Mvc6Boilerplate\project.json 19

Ho anche un progetto MVC e sto usando gli ultimi pacchetti Nuget lì e allora perché non riesco ad aggiornare questi pacchetti? E 'questo a che fare con il fatto che non ci sono più file web.config in cui possiamo specificare il runtime di assemblyBinding:

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly> 
     <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" /> 
     <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> 
    </dependentAssembly> 
    </assemblyBinding> 
</runtime> 

Update 1

Quando provo ad aggiornare Newtonsoft.Json dal gestore di pacchetti console, ottengo l'errore sotto:

PM> Update-Package Newtonsoft.Json -ProjectName Mvc6Boilerplate -Version 6.0.8 Package with the Id 'Newtonsoft.Json' is not installed to project 'Mvc6Boilerplate'.

sembra che Newtonsoft.Json non è installato nel progetto di default MVC 6, ma è installato come una dipendenza di un altro progetto. Questo pacchetto NuGet non viene effettivamente visualizzato in Nuget Package Manager, ma viene visualizzato nel file project.json e anche nella voce di visualizzazione References-> DNX e DNX Core tree.

Quando si tenta di installare il pacchetto Newtonsoft.Json in modo esplicito, esso esegue l'aggiornamento a 6.0.8, ma ottengo quindi gli errori che ho elencato sopra.

+1

Se andate alla finestra di output, modificare il menu a discesa per "Package Manager", quali errori si può trovare lì? Non ho riscontrato problemi durante l'aggiornamento dei pacchetti. Ho aggiunto manualmente ' true' ai file xproj per gestire il problema di associazione. –

+0

Vedere il mio aggiornamento 1 sopra. Ho provato ad aggiungere AutoGenerateBindingRedirects ma non aiuta. –

+1

Non mi aspettavo che "AutoGenerateBindingRedirects" facesse alcuna differenza. Sfortunatamente, non devo essere stato chiaro: la finestra di output è diversa dalla console di Gestione pacchetti. (La denominazione simile non aiuta.) In genere puoi accedervi con 'Ctrl + W, O' o utilizzare la barra di avvio veloce in alto. Probabilmente dovrai modificare il menu a discesa ... Ci saranno molte linee GET e CACHE, con probabilmente uno o due errori sparsi. –

risposta

2

Questo errore: "Codice di gravità Descrizione Errore riga file progetto NuGet Package Restore non è riuscito per uno o più pacchetti. Vedere i dettagli nella finestra Output."

... è stato risolto per me assicurando che stavo facendo funzionare VisualStudio come amministratore.

Sebbene la pagina non sia stata visualizzata correttamente nella prima build.

0

La soluzione più semplice che conosco adesso è quella di utilizzare Visual Studio 2013 anziché 2015 per aggiornare i pacchetti.

0

Sembra che il problema sia stato risolto. È necessario aggiornare il NugetPackage Responsabile:

Strumenti> Estensioni e aggiornamenti> Aggiornamenti> Visual Studio

Problemi correlati