Necesito construir un proyecto de C# como WinExe o Library dependiendo de la configuración del proyecto.Cambiando csproj OutputType basado en la configuración del proyecto
He intentado ambos métodos sin suerte:
1) En el PropertyGroup generales:
<OutputType Condition=" '$(Configuration)' == 'Release' ">WinExe</OutputType> <OutputType Condition=" '$(Configuration)' == 'Debug' ">Library</OutputType>
2) En un PropertyGroup condicional:
<PropertyGroup Condition=" '$(Configuration)' == 'Release' "> <OutputType>WinExe</OutputType> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> <OutputType>Library</OutputType> </PropertyGroup>
Ninguno de estos métodos funciona y OutputType siempre es WinExe. Lo curioso es que si cambio todas las instancias de WinExe a Library, entonces siempre será Library. Esto me hace pensar que los está leyendo con éxito, pero en un orden extraño o que WinExe tiene prioridad sobre la Biblioteca.
¿Alguna idea?
Siempre que su declaración OutputType aparezca después de las demás, sobrescribiéndola, lo que tiene arriba debería funcionar. Pero también debe ser anterior a cualquier instrucción de importación que contenga propiedades adicionales que se basen en el valor de $ (OutputType) –
. ¿Desea que esto funcione en VS o la línea de comandos solo está OK? –