Necesitamos definir un símbolo de compilación condicional en un proyecto de biblioteca de clase. Esto no debe verificarse en el control de origen (no se aplica a todos los desarrolladores), por lo que debe definirse en un lugar que no sea el archivo .csproj o el archivo app.config. ¿Cómo se puede lograr esto?Cómo definir los símbolos de compilación condicional en un archivo separado (no .csproj o app.config)
Respuesta
Lo que haría es definir sus diversos tipos de compilación en el administrador de configuración (Build-> Configuration Manager) y configurar cada una de las constantes requeridas en cada uno de los tipos de compilación. A continuación, puede hacer que cada miembro del equipo simplemente seleccione el tipo de compilación que desea y usará automáticamente las constantes apropiadas. (Creo que el tipo de compilación utilizado más recientemente se almacena en el archivo .suo, que es "opciones de usuario de solución" y normalmente no se registraría en el control de origen, por lo que se mantendría específicamente para cada usuario).
Puede definir las constantes del preprocesador en la línea de comandos del compilador C# utilizando el /define. cambiar. pero tendrás el problema de cómo llamar esto. Cualquier cambio que realice en las propiedades del proyecto para usar esto se guardará en el archivo csproj. Tendría que hacer todo su edificio desde la línea de comandos en su lugar, lo que estoy seguro de que no querrá. También puede definirlos en scripts de msbuild, pero tendría el mismo problema.
Esta es una vieja pregunta, pero por un presentimiento, me cansaba algo y funcionó. Resulta que puede definir símbolos condicionales en el archivo csproj.user
. Supongo que lo mismo funcionaría para otros idiomas, pero no lo he intentado.
Así que simplemente agregue algo como lo siguiente al csproj.user.
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DefineConstants>MySpecialConstant, TestBlahBlah</DefineConstants>
</PropertyGroup>
hecho, me gusta @SimonPStevens solución mejor, ya que abarca TFS, en lugar de esconderse. A veces, sin embargo, esto es simplemente más fácil ...
- 1. Los símbolos de compilación condicional no están definidos
- 2. msbuild, definiendo símbolos de compilación condicional
- 3. ¿Cómo implementar de manera condicional un app.config basado en la configuración de compilación?
- 4. Cómo se transfieren los símbolos de compilación condicional (DefinirConstantes) a msbuild
- 5. ¿Cómo puedo definir constantes en un archivo separado en Perl?
- 6. El uso de símbolos de compilación condicional en vistas MVC
- 7. Moviendo una sección de app.config a un archivo separado
- 8. ¿Mover elementos de compilación en msbuild a un archivo separado?
- 9. ¿Es posible usar símbolos de compilación condicional en eventos de compilación VS?
- 10. Compilación de un archivo de proyecto .vbproj o .csproj sin Visual Studio
- 11. Cómo definir TraceListener personalizado en app.config
- 12. La compilación condicional no funciona
- 13. Compilación condicional en Scala
- 14. ¿Cómo configuro una variable de compilación condicional?
- 15. Construya toda la solución pero agregue símbolos de compilación condicional global para un solo proyecto
- 16. compilación condicional en Go
- 17. ¿Cómo configuro CultureInfo.CurrentCulture desde un archivo App.Config?
- 18. Compilación condicional en Python
- 19. FlavorProperties GUID en csproj Archivo
- 20. O condicional en makefile
- 21. compilación condicional en OCaml
- 22. Compilación condicional en un documento LaTeX
- 23. XML en el archivo csproj
- 24. Makefile: compilación en un árbol de directorio separado
- 25. Cómo volcar los símbolos en un archivo .a
- 26. Cómo enumerar los símbolos en un archivo .so
- 27. Compilación condicional en CoffeeScript/UglifyJS
- 28. compilación condicional de Golang
- 29. Elementos de PropertyGroup reutilizables en un archivo csproj
- 30. ¿Cómo incluyo archivos DLL en mi archivo .csproj?