2017-01-16 1 views
4

Pour aider à reproduire le problème, les étapes suivantes sont prises pour créer un .NETStandard1.6 PCL dans Visual Studio 2015:Erreur pour .NETStandard1.6 PCL: "Votre projet ne fait pas référence à la structure" .NETPlatform, Version = v5.0 "

  1. Créer une nouvelle bibliothèque de classes (Portable pour iOS, Android et Windows).
  2. Dans sa page Propriétés, cliquez sur "Target .NET Platform Standard".
  3. formulaire de changement .NETStandard .NETStandard1.1 à .NETStandard1.6
  4. construire ce projet vide.

L'erreur suivante se produit:

>C:\Program Files (x86)\MSBuild\Microsoft\NuGet\Microsoft.NuGet.targets(140,5): error : Your project is not referencing the ".NETPlatform,Version=v5.0" framework. Add a reference to ".NETPlatform,Version=v5.0" in the "frameworks" section of your project.json, and then re-run NuGet restore. 

Voici project.json:

{ 
    "supports": {}, 
    "dependencies": { 
    "Microsoft.NETCore.Portable.Compatibility": "1.0.1", 
    "NETStandard.Library": "1.6.0" 
    }, 
    "frameworks": { 
    "netstandard1.6": {} 
    } 
} 

Quelqu'un pourrait-il proposer une astuce sur la façon d'ajouter une référence à » .NETPlatform, Version = v5.0 "dans la section" frameworks "? J'ai essayé les éléments suivants:

"donet5.4": {}

"donet5.0": {}

Ni œuvres.

+1

Dites adieu à cela. Passez à VS2017. –

+0

Je suis impatient d'utiliser VS2017, mais pas pour quelques semaines. Tellement pour des commentaires utiles. – Stonetip

Répondre

6

Pour VS2015 à la fin du fichier .csproj, ajouter:

<PropertyGroup> 
    <NuGetTargetMoniker>.NETStandard,Version=v1.6</NuGetTargetMoniker> 
</PropertyGroup> 
0

J'ai eu la même erreur, j'ajouté ce qui suit dans mon project.json

"frameworks": { 
      "netstandard1.4": { 
       "imports": "portable-net45+win8+wpa81+wp8" 
      } 
      "netplatform50": {} 
    } 

Cela a fonctionné pour moi