Domanda

Il processo per il rilascio della mia domanda al client è per intestazione

  • Crea
  • Implementazione di Clickonce
  • Offuscando l'eseguibile principale con Dotfuscator
  • Firma dei file manifest e .application con mage
  • Zip per consegna

Mi piacerebbe lavorare su un programma opensource per automatizzare questo dato che impiega molto tempo ogni volta che è necessaria una versione per il client. Penso che chiedere una soluzione sia un po 'troppo;) quindi quale sarebbe il formato ideale? Script batch, applicazione C #?

Qualcuno è a conoscenza di una soluzione esistente per questo processo o è disposto a collaborare su uno?

È stato utile?

Soluzione

Quindi suppongo che non stia esaminando l'utilizzo di MSBuild?

Perché anche questo viene fornito gratuitamente con .net SDK. I tuoi progetti Visual Studio sono già file di progetto MSBuild, quindi puoi usarli e modificarli per creare una build integrata completa.

Per generare la tua distribuzione ClickOnce, dovrai utilizzare le seguenti attività di MSBuild:

  • GenerateApplicationManifest
  • GenerateDeploymentManifest
  • Exec
  • SignFile

A causa di alcuni problemi ho anche bisogno di eseguire Mage dopo questi, ad esempio per aggiornare il manifest e firmarlo, per questo utilizzo il Task Exec:

<!-- Correct the codebase property pointing to the application manifest file -->
<Exec 
  Command="&quot;$(SdkPath)bin\mage&quot; -Update &quot;$(DeploymentManifest)&quot; -AppManifest &quot;$(ApplicationManifest)&quot;" 
  WorkingDirectory="$(PublishDir)" />

<!-- Signing the Deployment manifest -->
<Exec 
  Command="&quot;$(SdkPath)bin\mage&quot; -Sign &quot;$(DeploymentManifest)&quot; -CertFile &quot;$(SolutionRoot)\$(Branch)\Source\esamba.pfx&quot; -Password esamba" 
  WorkingDirectory="$(PublishDir)" />

Spero che questo ti aiuti.

Altri suggerimenti

Perché non utilizzare uno strumento di creazione come nant che è estensibile con attività personalizzate, se necessario.

Dato che questo è un problema comune, ci sono probabilmente attività predefinite per la maggior parte delle attività che hai, e puoi facilmente chiamare altri eseguibili o scrivere codice personalizzato in qualsiasi linguaggio .NET per aggiungere attività.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top