¿Hay alguna orientación sobre la conversión existing.NET ¿bibliotecas de clases a bibliotecas portátiles?


Tengo algunas bibliotecas de clases con una cantidad no trivial de código existente. Las bibliotecas de clases se dirigen actualmente a. NET 4.0. ¿Hay alguna guía sobre cómo convertir estas bibliotecas en bibliotecas portátiles? De mirar el .csproj, no parece que haya muchas diferencias:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />

Y

<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

¿Es buena o mala idea intentar convertir una biblioteca de clases existente en una biblioteca portátil?

Author: Anthony Mastrean, 2012-06-29

3 answers

También convertimos bibliotecas existentes en bibliotecas portátiles y funciona bien. Tienes que modificar el archivo del proyecto. Sustitúyase la línea siguiente:

<Import Project="..." />

Con

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />

Añadir la siguiente línea dentro de una etiqueta PropertyGroup

<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

Y elimine las siguientes líneas del AssemblyInfo.cs file

[assembly: ComVisible(false)]
[assembly: Guid("...")]

Después de eso, Visual Studio debe mostrarle la página de pestaña "Biblioteca" en la página de propiedades del proyecto y puede cambiar los marcos de trabajo de destino para la biblioteca portátil.

 67
Author: DerDani81,
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
2013-08-12 21:44:14

He creado una extensión de Visual Studio para automatizar esto. Simplemente busque en Visual Studio > 2012 en extensión " convert to pcl "

El código fuente también está disponible en Github.

 4
Author: Martin Poehler,
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
2014-12-02 15:57:25

Puede borrar la línea <Import Project="..." />. Luego, cuando vuelva a cargar el proyecto, Visual Studio le preguntará a qué frameworks dirigirse. Luego puede cambiar esto más adelante en las propiedades del proyecto.

 0
Author: Owen Johnson,
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
2013-04-25 06:10:31