2009-08-03 7 views

Respuesta

10

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.

8

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 ...

Cuestiones relacionadas