Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

523
Visualizações
¿Cómo agregar analizadores de código Roslyn al proyecto Unity? (para versiones de Unity anteriores a 2020)

Cuando instalo el analizador de código Roslyn como paquete NuGet para un proyecto (por ejemplo Assembly-CSharp ) de solución de mi proyecto Unity, suceden 2 cosas:

  • el paquete se instala en la carpeta Packages en la raíz del proyecto Unity
  • y líneas como <Analyzer Include="packages\SomeAnalyzer.1.2.3\analyzers\dotnet\cs\SomeAnalyzer.dll" /> se agregan al archivo .csproj (en nuestro caso Assembly-CSharp.csproj )

El problema es que Unity regenera el archivo .csproj (por ejemplo, cuando agrega o elimina archivos .cs o cuando cierra y vuelve a abrir el editor de Unity). La regeneración de .csproj borra las líneas añadidas, mencionadas anteriormente. Y los analizadores dejan de funcionar.

Parece que para Unity 2020 el problema está resuelto . Pero mi proyecto está en Unity 2019 y no se pudo actualizar a 2020 ahora. Entonces, mi pregunta es: ¿Es posible agregar un analizador de código a Unity-project y hacer que funcione para las versiones de Unity anteriores a 2020?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Ok, he encontrado algunas soluciones:

# 1 Código con olor, pero funciona (pero lo más probable es que una de las siguientes dos soluciones sea mejor para usted):

( lo encontré aquí ) Aceptamos que Unity borre líneas sobre el paquete instalado del archivo .csproj . Pero usamos un gancho de Unity AssetPostprocessor.OnGeneratedCSProjectFiles para reescribir "manualmente" .csproj devolviendo esas líneas.

#2 Manera mucho más elegante (yo la elegí)

(Lo encontré aquí ) Simplemente colocamos el archivo Directory.Build.props cerca de nuestro .sln y lo colocamos (manualmente, pero una vez) en sus líneas, que Unity elimina de .csproj . Eso es todo.

#Nota: si desea que el analizador no funcione para todos los proyectos, puede usar Condición para el grupo de propiedades .

#3 No lo comprobé, pero puede ser que se convierta en la mejor solución para ti

( lo encontré aquí ) Deberíamos agregar el archivo Assets/csc.rsp que hace referencia al conjunto de reglas y dlls del analizador de esta manera:

 -a:"full_or_relative_path_to_UnityEngineAnalyzer.dll" -ruleset:"full_or_relative_path_to_rules.ruleset"

Puede funcionar solo con Rider (IDE), porque los requisitos se establecen como:

Se aplica a Unity 2019.2+ con el paquete Rider 1.1.3+

over 4 years ago · Santiago Trujillo Relatório

0

He estado observando la característica de los analizadores para la unidad, en una versión 2019.4, los archivos csproj se generan correctamente sin ningún archivo csc.rsp si sigo las siguientes reglas de la unidad (del enlace que publicaste):

  • Mueva los tres archivos .dll a la carpeta Activos (o cualquier carpeta anidada en la carpeta Activos) en su proyecto de Unity.
  • En el Editor, seleccione el archivo .dll. En el Inspector de complementos, en Seleccionar plataformas para el complemento, deshabilite Cualquier plataforma. En Incluir plataformas, deshabilite Editor y Plataformas independientes.
  • Luego, asigne a todas las DLL una nueva etiqueta llamada RoslynAnalyzer.

Pero ahora no me salen los avisos que buscaba en la consola de Unity. Sin embargo, las advertencias están ahí en una versión 2020. ¿Puede ver las advertencias de los nuevos analizadores en una versión 2019 de Unity?

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda