76 votes

Convertir des bibliothèques de classes .NET Core 2.0 vers .NET Standard

Est-il un moyen de convertir facilement une bibliothèque de classe de ciblage .NET Core 2.0 .NET Standard?

Si je comprends bien, si l'on veut maximiser la réutilisation de bibliothèques de classes dans des projets qui visent différents .NET cadres par exemple .NET Framework, .NET Core, Xamarin, etc., c'est une meilleure idée de la cible .NET Standard, à condition que toutes les Api sont disponibles dans la version de .NET Standard qui seront ciblés.

C'est la raison pour laquelle je veux convertir mes bibliothèques de classes à partir .NET Core 2.0 .NET Standard 1.6 ou .NET Standard 2.0.

89voto

Artru Points 737

Dans le fichier de projet, vous pouvez pointer la cible de la compilation' netstandard avec la version exacte.

Exemple d' Proj.csproj:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard1.6</TargetFramework>
  </PropertyGroup>
</Project>
...

Microsoft fournit une bonne documentation sur les types de ciblage.

Dotnet Standard n'est pas un cadre ou d'une bibliothèque, c'est un jeu abstrait d'instructions: ce que la fonctionnalité devrait avoir System.Array, String, List, et ainsi de suite. Actuellement, il existe différentes implémentations: .NET Framework, .NET Core, Mono, Xamarin, Windows Phone. Cela signifie que les différentes implémentations pouvez recompiler et de réutiliser votre bibliothèque de ciblage netstandard. C'est un très bon choix pour un package NuGet.

Vous pouvez jouer avec les versions et de trouver la fonction minimum requis pour votre bibliothèque. Chaque Dotnet Standard étend les fonctionnalités de la version précédente. Ainsi, moins l'ciblées version est sélectionnée, le plus de plates-formes de votre bibliothèque de support.

59voto

Martin Ullrich Points 5894

Vous pouvez modifier le fichier csproj (peut être fait à l’intérieur de VS en cliquant-droit sur le dossier de projet) et changer

À

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X