No permitir la publicación de compilaciones de depuración para la implementación de ClickOnce

StackOverflow https://stackoverflow.com/questions/47107

  •  09-06-2019
  •  | 
  •  

Pregunta

¿Existe alguna forma de no permitir la publicación de compilaciones de depuración con ClickOnce?

Solo quiero permitir que se realicen compilaciones de lanzamiento, pero en este momento un error humano hace que una compilación de depuración se escape de vez en cuando.

Estamos publicando la compilación desde Visual Studio.

¿Fue útil?

Solución

Una cosa que puede hacer es agregar una condición al archivo .csproj o .vbproj que MSBuild verificará al realizar una compilación.

La condición verificaría si se está produciendo una publicación y verificaría si la compilación es una compilación de depuración, luego haría algo como ejecutar una herramienta externa o interrumpir el proceso de compilación o provocar que falle.

Un ejemplo podría ser algo como esto:

<Choose>
    <When Condition=" '$(Configuration)'=='Debug' ">
        <Exec Command="C:\foo.bat" ContinueOnError="false" />
    </When>
 </Choose>

Donde foo.bat es un archivo por lotes que devuelve un valor distinto de cero, lo que impide que se produzca la publicación.

Otros consejos

Comencé a modificar los archivos .csproj para incluir el siguiente código y generar un error para las implementaciones de depuración, evitando efectivamente que se realice la implementación:

<!-- The following makes sure we don’t try to publish a configuration that defines the DEBUG constant -->
<Target Name="BeforePublish">
    <Error Condition="'$(DebugSymbols)' == 'true'" Text="You attempted to publish a configuration that defines the DEBUG constant!" />
</Target>

Simplemente colóquelo al final del archivo, justo antes del </Project> etiqueta.

(fuente original: http://www.nathanpjones.com/wp/2010/05/preventing-clickonce-publishing-a-debug-configuration/comment-page-1/#comment-625)

Elegí otra solución que funcionó para mí:

No pude cambiar mi proceso de construcción.Así que lo hice HerramientasPersonalizar... y cambie el texto de la acción, agregando una alerta como "Publicar [¡CONFIGURAR PARA LIBERAR!]", y colocando el botón Publicar al lado de la opción de configuración Depurar/Liberar.¡Es fácil!

Con esto reduje considerablemente el riesgo de error humano.Esos botones siempre deben estar juntos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top