Domanda

Il nostro team sviluppa app winform distribuite.Utilizziamo ClickOnce per la distribuzione e ne siamo molto soddisfatti.

Tuttavia, abbiamo riscontrato che il punto dolente di ClickOnce è presente creando gli schieramenti.Disponiamo di ambienti di sviluppo/test/produzione standard e dobbiamo essere in grado di creare distribuzioni per ciascuno di essi che si installino e si aggiornino separatamente l'uno dall'altro.Inoltre, vogliamo il controllo su quali assembly vengono distribuiti.Solo perché un assembly è stato compilato non significa che lo vogliamo distribuire.

La prima scelta ovvia per la creazione di distribuzioni è Visual Studio.Tuttavia, VS in realtà non affronta i problemi indicati.Il prossimo in linea è lo strumento SDK, Mage.Mage funziona bene, ma creare distribuzioni è piuttosto noioso e non vogliamo che ogni sviluppatore abbia il nostro certificato di firma del codice e la nostra password.

Ciò che abbiamo finito è stato lanciare la nostra app di distribuzione che utilizza la versione da riga di comando di Mage per creare i file manifest ClickOnce.

Sono soddisfatto della nostra soluzione attuale, ma sembra che ci sia un approccio accettato a livello di settore a questo problema.È lì?

È stato utile?

Soluzione

Vorrei valutare l'utilizzo msbuild.È integrato compiti per la gestione delle distribuzioni clickonce.Ho incluso alcuni riferimenti che ti aiuteranno a iniziare, se vuoi seguire questa strada.È quello che uso e l'ho trovato adatto alle mie esigenze.Con un buon processo di compilazione utilizzando msbuild, dovresti essere in grado di eliminare i dolori che hai provato.

Qui è post dettagliato su come funziona la generazione di manifest ClickOnce con MsBuild.

Altri suggerimenti

Ho utilizzato nAnt per eseguire la strategia di compilazione complessiva, ma ho passato i parametri a MSBuild per compilare e creare il pacchetto di distribuzione.

Fondamentalmente, nAnt chiama MSBuild per ogni ambiente in cui è necessario eseguire la distribuzione e genera un output di distribuzione separato per ciascuno.Ti ritroverai con una cartella e tutti i file ClickOnce necessari per ogni ambiente, che puoi semplicemente copiare sul server.

Questo è il modo in cui gestivamo anche più ambienti di produzione: avevamo istanze separate della nostra applicazione per Stati Uniti, Canada ed Europa, quindi ogni build finiva per creare nove distribuzioni, tre ciascuna per sviluppo, controllo qualità e produzione.

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