Actualización de referencias de componentes en NuGet
Importante
Component Store se interrumpió a partir del 15 de mayo de 2018 (este cierre se anunció originalmente en noviembre de 2017).
Los componentes de Xamarin ya no se admiten en Visual Studio y los deben reemplazar paquetes NuGet. Sigue las instrucciones siguientes para quitar manualmente las referencias de componentes de los proyectos.
Consulta estas instrucciones para agregar paquetes NuGet en Windows o Mac.
Hay una lista de complementos y bibliotecas populares de Xamarin disponibles para ayudar a encontrar alternativas a los componentes que no están disponibles como paquetes NuGet.
Eliminación manual de referencias de componentes
La versión 15.6 de Visual Studio y 7.4 de Visual Studio para Mac ya no admite componentes en el proyecto.
Si cargas un proyecto en Visual Studio, se muestra el cuadro de diálogo siguiente, que explica que debes quitar los componentes del proyecto manualmente:
Para quitar un componente del proyecto, haz lo siguiente:
Abra el archivo .csproj. Para ello, haz clic con el botón derecho en el nombre del proyecto y selecciona Descargar proyecto.
Haz clic con el botón derecho de nuevo en el proyecto descargado y selecciona Editar {nombre-proyecto}.csproj.
Busca las referencias del archivo a
XamarinComponentReference
. Debe tener un aspecto similar al siguiente ejemplo:<ItemGroup> <XamarinComponentReference Include="advancedcolorpicker"> <Version>2.0.1</Version> <Visible>False</Visible> </XamarinComponentReference> <XamarinComponentReference Include="gunmetaltheme"> <Version>1.4.1</Version> <Visible>False</Visible> </XamarinComponentReference> <XamarinComponentReference Include="signature-pad"> <Version>2.2.0</Version> <Visible>False</Visible> </XamarinComponentReference> </ItemGroup>
Quita las referencias a
XamarinComponentReference
y guarda el archivo. En el ejemplo anterior, quitarItemGroup
por completo es seguro.Una vez guardado el archivo, haz clic con el botón derecho en el nombre del proyecto y selecciona Volver a cargar proyecto.
Repite los pasos anteriores para cada proyecto de tu solución.
Advertencia
Las instrucciones siguientes solo funcionan con versiones anteriores de Visual Studio. El nodo Componentes ya no está disponible en las versiones actuales de Visual Studio 2017 o Visual Studio para Mac.
En las secciones siguientes se explica cómo actualizar las soluciones existentes de Xamarin para cambiar las referencias de componente a paquetes NuGet.
La mayoría de los componentes se dividen en una de las categorías anteriores. Si usas un componente que no parece tener un paquete NuGet equivalente, lee la sección Componentes sin una ruta de migración de NuGet siguiente.
Componentes que contienen paquetes NuGet
Muchos componentes ya contienen paquetes NuGet y la ruta de migración es simplemente eliminar la referencia del componente.
Para determinar si el componente ya incluye un paquete NuGet, haz doble clic en el componente de la solución:
La pestaña Paquetes mostrará los paquetes NuGet incluidos en el componente:
Ten en cuenta que la pestaña Ensamblados estará vacía:
Actualización de la solución
Para actualizar la solución, elimina la entrada Componente de la solución:
El paquete NuGet permanecerá en el nodo Paquetes y la aplicación se compilará y ejecutará como de costumbre. En el futuro, las actualizaciones de este paquete se realizarán mediante la característica de actualización de NuGet:
Componentes con reemplazos de NuGet
Si la pestaña Ensamblados de la página de información del componente contiene entradas tal como se muestra a continuación, deberás encontrar manualmente el paquete NuGet equivalente.
Ten en cuenta que la pestaña Paquetes probablemente estará vacía:
Puede contener dependencias de NuGet, pero se pueden omitir.
Para confirmar que existe un paquete NuGet de reemplazo, busca en NuGet.org mediante el nombre del componente o, como alternativa, por autor.
Por ejemplo, puedes encontrar el popular paquete sqlite-net-pcl buscando lo siguiente:
sqlite-net-pcl
: nombre del producto.praeclarum
: perfil del autor.
Actualización de la solución
Una vez que hayas confirmado que el componente está disponible en NuGet, sigue estos pasos:
Eliminar el componente
Haz clic con el botón derecho en el componente de la solución y elige Quitar:
Esta acción eliminará el componente y las referencias. Esto interrumpirá la compilación hasta que agregues el paquete NuGet equivalente para reemplazarlo.
Incorporación del paquete NuGet
Haz clic con el botón derecho en el nodo Paquetes y elige Agregar paquetes....
Busca el reemplazo de NuGet por nombre o autor:
Presiona Agregar paquete.
El paquete NuGet se agregará al proyecto junto con las dependencias. Esto debería corregir la compilación. Si la compilación sigue produciendo un error, investiga cada error para ver si hay diferencias de API entre el componente y el paquete NuGet.
Componentes sin una ruta de migración de NuGet
No te preocupes si no encuentras inmediatamente un reemplazo de los componentes usados en la aplicación. Los componentes existentes seguirán funcionando en Visual Studio 15.5 y el nodo Componentes aparecerá en la solución como de costumbre.
Pero las versiones futuras de Visual Studio no restaurarán ni actualizarán los componentes. Esto significa que si abres la solución en un equipo nuevo, el componente no se descargará ni instalará; y el autor no podrá proporcionarte actualizaciones. Debes planear lo siguiente:
- Extraer los ensamblados del componente y hacer referencia a ellos directamente en el proyecto.
- Ponerte en contacto con el autor del componente y preguntar sobre los planes para migrar a NuGet.
- Investigar paquetes NuGet alternativos o buscar el código fuente si el componente es de código abierto.
Muchos proveedores de componentes siguen trabajando en la migración a NuGet y otros (incluidos los productos disponibles comercialmente) pueden estar investigando opciones de entrega alternativas.