Comment mettre à jour mon projet de System.runtime 4.0.10.0 à 4.0.20.0

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

Question

Je reçois cette erreur lorsque je construis mon projet:

Code de gravité Description Erreur de ligne de fichier de projet CS1705, Assembly 'EntityFramework.Core' avec identité 'EntityFramework.Core, version = 7.0.0.0, Culture = neutre, PublicKeyToken = null' utilise 'System.Runtime, Version = 4.0.20.0, Culture = neutre , PublicKeyToken = b03f5f7f11d50a3a 'qui possède une version supérieure à l'assembly référencé' System.Runtime 'avec une identité' System.Runtime, Version = 4.0.10.0, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a 'TaaS.DataAccess..NET Platform C: _REPOSITORY \ taas-application \ TaaS-WebApplication \ TaaS.DataAccess \ TaaSContext.cs 8

Comment puis-je mettre à jour de System.runtime 4.0.10.0 à 4.0.20.0?

C'est mon fichier 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": { }
  }
}

Je suis allé chez le gestionnaire de paquets Nuget et j'ai recherché des paquets pouvant être mis à jour. Il y avait System.Runtime 4.0.20.0. Je l'ai mis à jour et désormais tout est cassé grâce à Microsoft. Je connais sa version bêta mais cela ne devrait pas arriver:

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

Réponse acceptée

Je crois que si vous mettez à jour votre project.json comme suit, cela résoudra l’erreur:

{
  "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"
       }
    }
  }
}

Notez que dans les premières versions bêta des outils de bibliothèque de classes, les projets étaient créés avec la cible "dotnet" mais que si vous créez un projet de bibliothèque de classes avec le dernier outil beta7, il utilise dnx451 et dnxcore50 afin de définir des dépendances indépendantes les unes des autres. cadre. Ceux nommés beta7 vont dans les dépendances principales car ils sont nécessaires à la fois pour dnx451 et dnxcore50.

Les dépendances qui ne sont pas étiquetées comme beta7 ne sont nécessaires que pour dnxcore50. Je les ai donc déplacées dans les dépendances dnxcore50 et j'ai également corrigé les versions pour qu'elles correspondent à beta7 (il existe une correspondance même si elles ne sont pas nommées beta7). J'ai également supprimé quelques références qui, à mon avis, ne sont pas nécessaires et n'existent peut-être plus en tant que packages pour beta7.


Réponse populaire

Si vous devez annuler la mise à niveau, vous pouvez le faire en tapant ce qui suit dans la console Package Manager.

Uninstall-Package System.Runtime -Force

et alors

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



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi