Come ridistribuire un assembly BizTalk da Visual Studio

Nel processo di sviluppo di un assembly è spesso necessario distribuire, testare, modificare e ridistribuire più volte tale assembly. Nelle versioni precedenti di BizTalk Server, se si desidera ridistribuire un assembly senza modificare il numero di versione, è necessario innanzitutto interrompere, rimuovere e annullare il binding manualmente degli elementi contenuti nell'assembly in BizTalk Server e quindi rimuovere l'assembly dal database di gestione BizTalk (configurazione). Dopo aver ridistribuito l'assembly, è inoltre necessario associare, integrare e avviare i relativi elementi in BizTalk Server.

Con BizTalk Server, tuttavia, quando si abilita l'opzione Ridistribuissi in Visual Studio, BizTalk Server esegue automaticamente tutti i passaggi per ridistribuire automaticamente l'assembly. Sebbene sia possibile ridistribuire un assembly dal livello del progetto, ad esempio facendo clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e scegliendo Distribuisci, per un singolo assembly, è consigliabile ridistribuire sempre gli assembly dal livello della soluzione, ad esempio facendo clic con il pulsante destro del mouse sulla soluzione e scegliendo Distribuisci. In questo modo vengono ridistribuiti contemporaneamente tutti gli assembly della soluzione e vengono gestiti tutti i passaggi previsti quando sono presenti dipendenze, come descritto più avanti.

Importante

Anche se è necessario eseguire la ridistribuzione a livello di progetto solo in rari casi, è buona norma eseguire sempre la ridistribuzione a livello di soluzione.

Quando si ridistribuisce un assembly, tenere presente le considerazioni seguenti:

  • È necessario installare il nuovo assembly nella GAC (Global Assembly Cache). Quando si ridistribuisce un assembly, è sempre necessario installare la nuova versione dell'assembly nella GAC, come descritto in Come installare un assembly nella GAC. Questa operazione può essere eseguita dopo la ridistribuzione.

  • Quando sono presenti dipendenze, è necessario eseguire sempre la ridistribuzione a livello di soluzione. Se in una soluzione sono presenti più assembly, e uno o più assembly della soluzione hanno dipendenze nell'assembly che si desidera ridistribuire, è necessario ridistribuire gli assembly a livello di soluzione. Ciò è necessario in quanto, quando si ridistribuisce un assembly al livello di progetto, BizTalk Server interrompe, rimuove e annullare il binding degli elementi contenuti in tutti gli assembly che dipendono da questo assembly oppure sui quali dipende questo assembly. BizTalk Server non eseguirà altri passaggi per distribuire, associare, integrare e avviare gli elementi. Tuttavia, quando si ridistribuisce l'intera soluzione, BizTalk Server esegue automaticamente i passaggi necessari per annullare la distribuzione e ridistribuire tutti gli elementi nella soluzione in base alle relative dipendenze.

  • Può essere necessario ridistribuire manualmente gli assembly dipendenti. BizTalk Server annulla sempre la distribuzione degli assembly dipendenti, tuttavia, nei seguenti è necessario eseguire passaggi aggiuntivi per distribuire, associare e integrare tutti gli elementi in ogni assembly dipendente dopo la ridistribuzione dell'assembly da cui dipende l'assembly.

    • Se si ridistribuisce un assembly al livello del progetto e un altro assembly nella stessa soluzione dipende da esso.

    • Se si ridistribuisce un assembly al livello di soluzione, ma esiste un assembly dipendente in un'altra soluzione.

      Se ad esempio se si ridistribuisce solo l'assembly 3 illustrato nella figura seguente, dopo la ridistribuzione sarà necessario distribuire, associare e integrare tutti gli elementi nell'assembly 2, quindi distribuire, associare e integrare gli elementi nell'assembly 1.

      Assembly con dipendenze

      Un approccio alternativo consiste nell'evitare un'inutile distribuzione degli assembly principali che non sono stati modificati. Nella figura precedente, ad esempio, se sono presenti altri assembly che dipendono dagli assembly 2 e 3 e nessuno di essi è stato aggiornato, Deselezionare l'opzione Distribuisci in Configuration Manager per i progetti Assembly 2 e Assembly 3. In questo modo la distribuzione degli assembly esterni che dipendono da essi non verrà annullata e sarà necessaria la ridistribuzione. Per altre informazioni, vedere Come impostare le proprietà di distribuzione in Visual Studio.

  • È necessario riavviare le istanze dell'host. Quando si ridistribuisce un assembly contenente un'orchestrazione senza modificarne il numero di versione, l'assembly esistente viene sovrascritto dal database di gestione BizTalk. Prima che la modifica abbia effetto, è tuttavia necessario riavviare ogni istanza dell'host a cui è associata l'orchestrazione. È possibile specificare l'opzione che prevede il riavvio automatico di tutte le istanze dell'host in esecuzione nel computer locale quando si ridistribuisce un assembly. Per istruzioni, vedere Come impostare le proprietà di distribuzione in Visual Studio. È anche possibile arrestare e avviare manualmente ogni istanza host, come descritto in Come arrestare un'istanza host e Come avviare un'istanza host.

Importante

Poiché con l'opzione Ridistribuisci il controllo della versione viene ignorato, è consigliabile utilizzare tale opzione solo durante la fase di sviluppo.

Prerequisiti

Per eseguire la procedura descritta in questo argomento, è necessario effettuare l'accesso con un account membro del gruppo Amministratori BizTalk Server. L'account deve inoltre disporre delle autorizzazioni di lettura/scrittura per il file system locale e per la Global Assembly Cache. L'account Amministratori del computer locale dispone di tali autorizzazioni.

Per ridistribuire una soluzione BizTalk

Tramite Esplora soluzioni di Visual Studio

  1. Assicurarsi che l'opzione Ridistribuissi sia abilitata nelle proprietà di distribuzione per ogni progetto della soluzione, come descritto in Come impostare le proprietà di distribuzione in Visual Studio. Per impostazione predefinita, questa opzione è attivata.

  2. In Visual Studio Esplora soluzioni fare clic con il pulsante destro del mouse su una soluzione BizTalk e quindi scegliere Distribuisci.

    Gli assembly della soluzione vengono distribuiti nell'applicazione BizTalk specificata. Lo stato del processo di compilazione e sviluppo viene visualizzato nell'angolo inferiore sinistro della pagina.

Tramite il prompt dei comandi di Visual Studio

  1. Assicurarsi che l'opzione Ridistribuissi sia abilitata nelle proprietà di distribuzione per ogni progetto della soluzione, come descritto in Come impostare le proprietà di distribuzione in Visual Studio. Per impostazione predefinita, questa opzione è attivata.

  2. Avviare il prompt dei comandi di Visual Studio.

  3. Digitare il comando seguente, sostituendo i valori appropriati, come descritto nella tabella che segue:

    devenv /deploySolnConfigName SolutionName

    Esempio:

    devenv /deploy Release "C:\Documents and Settings\utente\Documenti\Visual Studio\Progetti\Soluzione\Soluzione.sln"

    Parametro Valore
    /schierare Distribuisce una soluzione dopo una compilazione o ricompilazione.
    SolnConfigName Nome della configurazione della soluzione da utilizzare per generare la soluzione indicata in SolutionName.
    Solutionname Percorso completo e nome del file della soluzione.

Vedere anche

Distribuzione di assembly BizTalk da Visual Studio in un'applicazione BizTalk