Saltar al contenido

Cómo actualizar archivos csproj con VS2017

Por fin luego de tanto trabajar ya encontramos el arreglo de este contratiempo que tantos lectores de nuestro sitio han tenido. Si deseas aportar algún detalle no dudes en dejar tu comentario.

Solución:

Estoy editando mi respuesta para dejar en claro que no necesita actualizar su .csproj expediente. Como Drew comentó a continuación, hay beneficios al hacerlo. Sin embargo, VS2017 seguirá funcionando con el clásico. csproj archivo muy bien. Además, no hay nada en VS2017 que realice la actualización por usted. Si desea aprovechar el nuevo formato, el recorrido a continuación debería ayudarlo.

Actualizar el .csproj El archivo al nuevo formato de Visual Studio 2017 es fácil para bibliotecas de clases simples o proyectos de consola.

Si no está utilizando el control de versiones, antes de comenzar, asegúrese de hacer una copia de seguridad de su csproj archivo, y ambos Properties/AssemblyInfo.csy packages.config. El nuevo csproj el archivo es genial En muchos proyectos, he reemplazado cientos de líneas de código con una docena más o menos. Sin embargo, dado que Visual Studio 2017 continúa admitiendo el anterior csproj archivos, esto puede ser un caso de optimización prematura. Si tiene una solución que contiene docenas de proyectos, muchos paquetes NuGet y cualquier personalización para csproj es probable que esté realizando un proyecto de trabajo innecesario.

Reemplace todo el contenido de su archivo .csproj con el código apropiado de la siguiente manera.

Biblioteca de clases


  
    net462
  

Aplicación de consola


  
    Exe
    net462
  

Cambiar el attribute a la versión de .NET que necesita, como net452, net46, net461, etc.

De manera predeterminada, el compilador recogerá todo el código dentro de la carpeta de su proyecto. Si tiene código fuera de la carpeta de su proyecto, debe hacer referencia explícita a él de la misma manera que lo hace en versiones anteriores de Visual Studio y csproj.

Después de realizar los cambios anteriores, cargue su solución en Visual Studio 2017. En este punto, se deben compilar los proyectos más básicos. De lo contrario, es probable que deba agregar referencias de proyectos o ensamblajes faltantes. Agregar referencias es muy similar a hacerlo en versiones anteriores de Visual Studio. Seleccione su proyecto en el Explorador de soluciones, haga clic derecho en Dependenciesy seleccione Add Reference. Agregue las referencias de Framework o Project que le falten.

Intente construir su solución/proyecto nuevamente. Puede recibir errores sobre duplicados attributes. Este error se debe a que attributes previamente definido en AssemblyInfo.cs se han movido al archivo csproj. Borrando el AssemblyInfo.cs El archivo, que se encuentra en la carpeta Propiedades, debería resolver estos errores. Antes de borrar el AssemblyInfo.cs debe mover cualquier dato que haya definido. La mayoría attributes se puede ingresar en la sección de información del paquete de su archivo de proyecto. Haga clic con el botón derecho en el nombre de su proyecto, seleccione la página Paquete e ingrese cualquier dato que se definió previamente en su AssemblyInfo.cs expediente. Esto incluye elementos como la versión ensamblada, el autor, los derechos de autor, etc.

A continuación se muestra una captura de pantalla que muestra el paso anterior.

ingrese la descripción de la imagen aquí

Si está utilizando paquetes NuGet en su proyecto, también debe moverlos al nuevo formato. Antes de Visual Studio 2017, NuGet se basaba en un archivo llamado Packages.config en la raíz de su proyecto además de las referencias en csproj. Para migrar las referencias de su paquete NuGet, haga clic con el botón derecho en su solución y cargue el Administrador de paquetes Nuget. Una vez cargado en la esquina superior derecha, haga clic en el engranaje y se cargarán las opciones del Administrador de paquetes NuGet. Seleccione General. En Administración de paquetes, cambie la opción Default package management format a PackageReference. En este punto, deberá volver a agregar manualmente todos sus paquetes NuGet a su solución. Puedes encontrar todos los paquetes en el packages.config archivo en la carpeta raíz del proyecto. Una vez que haya vuelto a agregar todos los paquetes, puede eliminar el packages.config expediente.

Creé una herramienta para esto que funciona con archivos csproj: https://github.com/hvanbakel/CsprojToVs2017

Simplemente puede ejecutarlo en un csproj y convertirá el archivo y creará una copia de seguridad del anterior.

Actualización: el enlace de la herramienta a continuación está inactivo, pero a partir de VS2017 15.7, esta funcionalidad está integrada en Visual Studio.

Nota: Esto solo actualiza el mecanismo de referencia de NuGet. No cambia al nuevo tipo csproj.


Hay una herramienta increíble que convierte automáticamente los proyectos que usan packages.config o project.json en PackageReference.

https://marketplace.visualstudio.com/items?itemName=TaylorSouthwickMSFT.NuGetPackagetoProjectjsonConverter

  1. Instálalo en tu Visual Studio

  2. Después de instalar la extensión, abra su solución y haga clic con el botón derecho en la solución en el Explorador de soluciones y haga clic en Actualizar a las referencias del paquete.

  3. Después de seleccionar eso, el proyecto se transformará como se muestra a continuación. Se recomienda encarecidamente que realice esto en un directorio habilitado para el control de código fuente para que pueda deshacerlo fácilmente si algo sale mal.

ingrese la descripción de la imagen aquí

Aquí puedes ver las comentarios y valoraciones de los usuarios

Nos encantaría que puedieras mostrar esta división si te fue útil.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *