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.
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 AutoGenerateBindingRedirects>' ai file xproj per gestire il problema di associazione. –
Vedere il mio aggiornamento 1 sopra. Ho provato ad aggiungere AutoGenerateBindingRedirects ma non aiuta. –
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. –