Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

421
Vistas
¿Cómo puedo usar Microsoft.Net.Compilers a nivel de solución?

Quiero comenzar a usar Microsoft.Net.Compilers para simplificar el trabajo con nuestro servidor de compilación. Sin embargo, solo pude hacer que funcionara a nivel de proyecto , agregando el paquete a todos los proyectos.
Esto es problemático porque el paquete tendría que agregarse a cada nuevo proyecto creado. Esto podría conducir a un caso en el que el código se compila en la máquina del desarrollador (que tiene el compilador más reciente), pero fallaría en el servidor de compilación. Tenemos muchos proyectos (más de 100), por lo que esto es relativamente común.

¿Hay alguna forma de usar Microsoft.Net.Compilers a nivel de solución?

Si no hay una forma compatible, ¿hay alguna herramienta de línea de comandos que no tenga que instalar en el servidor de compilación? Alternativamente, ¿no es este un uso previsto de estas herramientas?

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Si en VS 2017 (actualización 1, números de compilación >= 15.1.*), puede usar el mecanismo PackageReference integrado de MSBuild en lugar de packages.config que anteriormente solo estaba disponible para los tipos de proyecto .net core y .net estándar. Consulte la documentación de PackageReference , así como la publicación de blog de NuGet que anuncia la compatibilidad, especialmente la sección "¿Qué pasa con otros tipos de proyectos que no son .NET Core?".

La idea es pasar de instalar un paquete y agregarlo a packages.config para restaurarlo a solo especificar elementos de MSBuild en el archivo csproj. Esto se puede configurar para nuevos proyectos en VS: Cambiar de paquetes.config a ProjectReference (la animación es de la publicación de blog de NuGet vinculada anteriormente)

Una característica nueva de MSBuild 15 es que admite la inclusión automática de archivos en la jerarquía de directorios que tienen nombres especiales. Esos son Directory.Build.props y Directory.Build.targets que se incluirán antes (props) y después (targets) del contenido del archivo de su proyecto (hay un error con la versión .targets para proyectos de objetivos múltiples para los cuales se trata de una solución para ser lanzado).

Si crea un archivo Directory.Build.props con el siguiente contenido en el nivel de solución, todos los proyectos en la jerarquía de directorios debajo heredarán su contenido y puede forzar una dependencia de NuGet en cada proyecto:

 <Project> <ItemGroup> <PackageReference Include="Microsoft.Net.Compilers" Version="2.1.0"/> </ItemGroup> </Project>
about 4 years ago · Santiago Trujillo Denunciar

0

Para proyectos existentes en la solución:

Haga clic con el botón derecho en su solución > Administrar paquetes NuGet para la solución...

... O:

Herramientas > Administrador de paquetes de biblioteca > Administrar paquetes NuGet para la solución...

Luego agréguelo a todos los proyectos buscando su paquete, luego marcando la casilla de verificación superior y haciendo clic en instalar.

Fuente: https://stackoverflow.com/a/8653312/7007466


Para los nuevos proyectos:

Crea una plantilla imitando la original para cada tipo de proyecto que necesites (Consola, Biblioteca, etc...) y agregándole el paquete.

  • Crea un proyecto.

    Nota: Use solo caracteres de identificación válidos al nombrar un proyecto que será la fuente de una plantilla. Una plantilla exportada de un proyecto cuyo nombre contiene caracteres no válidos puede provocar errores de compilación en futuros proyectos basados en la plantilla.

  • Edite el proyecto hasta que esté listo para exportarlo como plantilla.
  • Según corresponda, edite los archivos de código para indicar dónde se debe realizar el reemplazo de parámetros.
  • En el menú Archivo, haga clic en Exportar plantilla. Se abre el asistente Exportar plantilla.
  • Haga clic en Plantilla de proyecto.
  • Si tiene más de un proyecto en su solución actual, seleccione los proyectos que desea exportar a una plantilla.
  • Haga clic en Siguiente.
  • Seleccione un icono y una imagen de vista previa para su plantilla. Estos aparecerán en el cuadro de diálogo Nuevo proyecto.
  • Introduzca un nombre de plantilla y una descripción.
  • Haga clic en Finalizar. Su proyecto se exporta a un archivo .zip y se coloca en la ubicación de salida especificada y, si se selecciona, se importa a Visual Studio.

Si tiene instalado el SDK de Visual Studio, puede empaquetar la plantilla terminada en un archivo .vsix para su implementación mediante la plantilla del proyecto VSIX.

Fuente: https://msdn.microsoft.com/en-us/library/xkh1wxd8.aspx

Si alguien tiene una manera más fácil que crear plantillas, con gusto la tomaré.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda