es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para hacer referencia al proyecto del analizador en todos los proyectos excepto en el analizador y sus pruebas a través de Directory.Build.props, puedes usar la siguiente condición en el elemento <itemgroup>:

    <itemgroup condition="'$(MSBuildProjectName)' != 'NombreProyectoAnalizador' And !$(MSBuildProjectName.EndsWith('Test'))">
      <projectreference include="..\PathTo\NombreProyectoAnalizador.csproj">
        <private>false</private>
        <includeassets>runtime; build; native; contentfiles; analyzers</includeassets>
        <excludeassets>none</excludeassets>
      </projectreference>
    </itemgroup>
    

    Esto agregará una referencia de proyecto al proyecto del analizador para todos los proyectos excepto aquellos con el nombre “NombreProyectoAnalizador” y aquellos con un nombre de proyecto que terminen con “Test”. La etiqueta Private se establece en “false” para evitar que el proyecto del analizador se publique, y las etiquetas IncludeAssets yExcludeAssets se utilizan para incluir solo los activos necesarios del proyecto del analizador.

    Desafortunadamente, no es posible obtener el proyecto de referencia directamente en el archivo Directory.Build.props. Es posible que pueda lograr esto indirectamente estableciendo la propiedad AssemblyOriginatorKeyFile en un valor único para cada proyecto, y luego filtrando en esto en la condición. Sin embargo, esto requeriría modificar cada archivo de proyecto para establecer la propiedad.

Comments are closed.