web-dev-qa-db-fra.com

Installation d'un package .NetStandard 2.0 Nuget dans un projet VS2015 Net 4.6.1

J'essaie d'installer un package Nuget qui cible .NetStandard 2.0 (Microsoft.Extensions.Logging.Abstractions) dans un projet Net 4.6.1 dans Visual Studio 2015. Cependant, bien que Frameworks soit compatible, cela ne fonctionne pas tout à fait:

Install-Package : Could not install package 'Microsoft.Extensions.Logging.Abstractions 2.0.0'. You are trying to 
install this package into a project that targets '.NETFramework,Version=v4.6.1', but the package does not contain 
any Assembly references or content files that are compatible with that framework. For more information, contact 
the package author.
At line:1 char:1
+ Install-Package Microsoft.Extensions.Logging.Abstractions

J'ai suivi les étapes décrites ici: Entity Framework Core 2.0 sur .NET 4.6.1

J'ai donc installé le package "NETStandard.Library.NETFramework" et ajouté

<PropertyGroup>
  <PackageTargetFallback>netstandard2.0</PackageTargetFallback>
</PropertyGroup>

au csproj. Mais pas de chance là-bas - toujours le même problème.

Existe-t-il un moyen d'installer un package NetStandard 2.0 dans mon projet (sans mettre à niveau VS ou installer de pack de ciblage Net Core ou autre)?

Merci

12
Bogey

Existe-t-il un moyen d'installer un package NetStandard 2.0 dans mon projet (sans mettre à niveau VS ou installer de pack de ciblage Net Core ou autre)?

J'ai bien peur que non. Tout comme Jon a souligné que la raison de ce problème est que vous utilisez Visual Studio 2015.

Selon le . NET Standard , .NET Standard 2.0 prend en charge .NET Framework 4.6.1 (avec . NET Core 2.0 SDK ):

enter image description here

Nous devons donc installer le SDK .NET Core 2.0. Et chaque communication de Microsoft à propos de l'aperçu de .NET Core 2.0 mentionne Visual Studio 2017 , donc je pense qu'il est fortement recommandé d'utiliser Visual Studio 2017 pour travailler avec .NET Core 2.0.

En outre, le package NuGet NETStandard.Library.NETFramework est obsolète .

enter image description here

Donc, installez un package Nuget .NetStandard 2.0 dans un projet Net 4.6.1, j'ai fortement recommandé d'utiliser Visual Studio 2017 pour travailler avec .NET Core 2.0.

J'espère que cela t'aides.

9
Leo Liu-MSFT

Le référencement des packages .NET Standard 2.0 est pris en charge à l'aide des éléments suivants:

Il existe encore quelques bogues lors de la consommation des bibliothèques .NET Standard 2.0, en particulier lors du mélange des bibliothèques .NET Standard <2.0 et 2.0, mais ces mises à jour fournissent un support de base.

7
Martin Ullrich