Convert.NET Bibliotecas de clases Core 2.0 to.NET Estándar


¿Hay alguna forma de convertir fácilmente una biblioteca de clases dirigida a. NET Core 2.0 a. NET Standard?

Si lo entiendo correctamente, si uno quiere maximizar la reutilización de bibliotecas de clases en proyectos dirigidos a diferentes.NET frameworks, por ejemplo. NET Framework,. NET Core, Xamarin, etc., es una mejor idea apuntar a. NET Standard provided siempre y cuando todas las API necesarias estén disponibles en la versión de.NET Standard que será dirigida.

Esta es la razón por la que quiero convertir mis bibliotecas de clases de. NET Core 2.0 a. NET Standard 1.6 o. NET Standard 2.0.

Author: Sam, 2017-09-07

2 answers

En el archivo de proyecto, puede apuntar la compilación de destino a netstandard con la versión exacta.

Ejemplo de Proj.csproj:

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

Microsoft proporciona una buena documentación sobre los tipos de segmentación.

Dotnet Standard no es un framework o una biblioteca, es un conjunto abstracto de instrucciones: qué funcionalidad debe tener System.Array, String, List, y así sucesivamente. Actualmente, existen diferentes implementaciones:. NET Framework,. NET Core, Mono, Xamarin, Windows Phone. Se significa que diferentes implementaciones pueden recompilar y reutilizar la segmentación de la biblioteca netstandard. Es una muy buena opción para un paquete NuGet.

Puede jugar con las versiones y encontrar el conjunto de funciones mínimo requerido para su biblioteca. Cada estándar Dotnet amplía la funcionalidad de la versión anterior. Por lo tanto, cuanto menos se seleccione la versión objetivo, más plataformas soportará su biblioteca.

 25
Author: Artru,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-07 04:31:49

Puede editar el archivo csproj (se puede hacer dentro de VS haciendo clic derecho en el archivo de proyecto) y cambiar

<TargetFramework>netcoreapp2.0</TargetFramework>

A

<TargetFramework>netstandard2.0</TargetFramework>
 18
Author: Martin Ullrich,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-07 04:28:15