Come posso aggiornare il mio progetto da System.runtime 4.0.10.0 a 4.0.20.0

c# entity-framework-core visual-studio-2015

Domanda

Ottengo questo errore quando costruisco il mio progetto:

Codice di gravità Descrizione Errore riga file progetto CS1705 Assieme 'EntityFramework.Core' con identità 'EntityFramework.Core, Versione = 7.0.0.0, Culture = neutro, PublicKeyToken = null' utilizza 'System.Runtime, Versione = 4.0.20.0, Cultura = neutro , PublicKeyToken = b03f5f7f11d50a3a 'che ha una versione superiore rispetto all'assembly di riferimento' System.Runtime 'con identità' System.Runtime, Version = 4.0.10.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a 'TaaS.DataAccess..NET Piattaforma C: _REPOSITORIES \ taas-application \ TaaS-WebApplication \ TaaS.DataAccess \ TaaSContext.cs 8

Come posso aggiornare da System.runtime 4.0.10.0 a 4.0.20.0?

Questo è il mio file project.json:

{
  "version": "1.0.0-*",
  "description": "TaaS.DataAccess Class Library",
  "authors": [ "LisaTatum" ],
  "tags": [ "" ],
  "projectUrl": "",
  "licenseUrl": "",

  "dependencies": {
    "System.Collections": "4.0.10-beta-23019",
    "System.Linq": "4.0.0-beta-23019",
    "System.Threading": "4.0.10-beta-23019",
    "System.Runtime": "4.0.10-beta-23019",
    "Microsoft.CSharp": "4.0.0-beta-23019",
    "EntityFramework.SqlServer": "7.0.0-beta7",
    "EntityFramework.Commands": "7.0.0-beta7",
    "EntityFramework.Relational": "7.0.0-beta5"


  },


  "frameworks": {
    "dotnet": { }
  }
}

Sono andato al gestore di pacchetti nuget e ho cercato pacchetti aggiornabili e c'era System.Runtime 4.0.20.0. L'ho aggiornato e da ora in poi tutto è rotto grazie a Microsoft. Conosco la sua versione beta ma ciò non dovrebbe accadere:

Severity    Code    Description Project File    Line
Warning     Dependency specified was System.Runtime >= 4.0.20 but ended up with System.Runtime 4.0.10-beta-23019.   TaaS.DataAccess C:\_REPOSITORIES\taas-application\TaaS-WebApplication\TaaS.DataAccess\project.json  13

Risposta accettata

Credo che se aggiorni il tuo project.json nel modo seguente risolverà l'errore:

{
  "version": "1.0.0-*",
  "description": "TaaS.DataAccess Class Library",
  "authors": [ "LisaTatum" ],
  "tags": [ "" ],
  "projectUrl": "",
  "licenseUrl": "",

  "dependencies": {

    "EntityFramework.SqlServer": "7.0.0-beta7",
    "EntityFramework.Commands": "7.0.0-beta7"

    }

  "frameworks": {
    "dnx451": { },
    "dnxcore50" : {
      "dependencies": {
        "System.Collections": "4.0.11-beta-23225",
        "System.Data.Common": "4.0.1-beta-23225",
        "System.Linq": "4.0.1-beta-23225",
        "System.Runtime": "4.0.21-beta-23225",
        "Microsoft.CSharp": "4.0.1-beta-23225"
       }
    }
  }
}

si noti che nelle prime versioni beta della libreria delle classi di utensili venivano creati progetti con la "dotnet" di destinazione, ma se si crea un progetto di libreria di classi con l'ultimo tool77 utilizza dnx451 e dnxcore50 in modo che le dipendenze possano essere impostate indipendentemente per ciascuna struttura. Quelli etichettati come beta7 vanno nelle dipendenze principali perché sono necessari sia da dnx451 che da dnxcore50.

Quelle dipendenze che non sono etichettate come beta7 sono necessarie solo per dnxcore50, quindi le ho spostate nelle dipendenze di dnxcore50 e ho corretto anche le versioni per corrispondere a beta7 (c'è una corrispondenza anche se non sono denominate beta7). Ho anche rimosso un paio di riferimenti che ritengo non siano necessari e forse non esistono più come pacchetti per beta7


Risposta popolare

Se è necessario eseguire il rollback dell'aggiornamento, è possibile farlo digitando quanto segue nella Console di Gestione pacchetti.

Uninstall-Package System.Runtime -Force

e poi

Install-Package System.Runtime -Version 4.0.10-beta-23019



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché