Proibir a publicação de compilações de depuração para implantação do ClickOnce

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

  •  09-06-2019
  •  | 
  •  

Pergunta

Existe uma maneira de proibir a publicação de compilações de depuração com ClickOnce?

Eu só quero permitir a passagem de compilações de lançamento, mas agora um erro humano faz com que uma compilação de depuração escape de vez em quando.

Estamos publicando a compilação no Visual Studio.

Foi útil?

Solução

Uma coisa que você pode fazer é adicionar uma condição ao arquivo .csproj ou .vbproj que o MSBuild verificará ao fazer uma compilação.

A condição verificaria se uma publicação está ocorrendo e se a compilação é uma compilação de depuração e, em seguida, faria algo como executar uma ferramenta externa ou interromper o processo de compilação ou causar sua falha.

Um exemplo pode ser algo assim:

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

Onde foo.bat é um arquivo em lote que retorna diferente de zero, impedindo assim a ocorrência da publicação.

Outras dicas

Comecei a modificar os arquivos .csproj para incluir o seguinte código para gerar um erro nas implantações de depuração, evitando efetivamente que a implantação aconteça:

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

Basta colocá-lo no final do arquivo, logo antes do </Project> marcação.

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

Eu escolhi outra solução que funcionou para mim:

Não consegui alterar meu processo de construção.Então eu fiz FerramentasCustomizar... e altere o texto da ação, adicionando um alerta como "Publicar [CONFIGURE TO RELEASE!]", e colocando o botão Publicar próximo à opção de configuração Debug/Release.É fácil!

Com isso reduzi consideravelmente o risco de erro humano.Esses botões devem estar sempre juntos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top