Controllo delle versioni dei progetti BizTalk Server
Quando si sviluppa con .NET Framework, il controllo delle versioni è disciplinato da un set standard di regole che funzionano per ridurre al minimo l'impatto delle modifiche al numero di versione. A seconda del modo in cui viene distribuito un componente o un componente .NET Framework, le dipendenze possono essere gestite da un file di configurazione dell'applicazione, tramite l'installazione di XCOPY o da altri meccanismi di distribuzione di .NET Framework. Come illustrato nelle sezioni seguenti, BizTalk Server aggiunge complessità aggiuntiva al controllo delle versioni e alle dipendenze.
Implicazioni della modifica del numero di versione
Nello sviluppo di .NET Framework è tipico aggiornare il numero di versione dell'assembly al numero di compilazione corrente quando si verifica una compilazione. Tuttavia, quando si sviluppa una soluzione BizTalk, la modifica del numero della versione dell'assembly può interrompere la relazione tra un assembly e gli elementi dipendenti che fanno riferimento alla DLL in base al relativo numero di versione dell'assembly. La tabella seguente elenca gli elementi che fanno riferimento a un assembly BizTalk Server usando il numero di versione e l'effetto della modifica di un numero di versione di assembly.
Entità | Effetto di modifica del numero di versione dell'assembly |
---|---|
File di associazione | La modifica del numero di versione dell'assembly causa l'errore di eventuali file di associazione esistenti che fanno riferimento all'assembly. Il motivo è che il file di associazione fa riferimento all'assembly in base agli attributi includendo il relativo numero di versione. È possibile aggiornare le informazioni sulla versione nel file di associazione mediante Blocco note o un altro editor. È anche possibile ridistribuire la soluzione e rigenerare il file di associazione usando la console di amministrazione di BizTalk Server. È inoltre possibile utilizzare gli script per automatizzare la distribuzione e il controllo delle versioni. Per altre informazioni sulla distribuzione, vedere Distribuzione e gestione di applicazioni BizTalk. |
File di definizione del profilo di rilevamento BAM (con estensione btt) | La modifica del numero di versione dell'assembly causa l'errore di eventuali file di definizione del profilo di rilevamento BAM esistenti. I file di rilevamento BAM sono in formato binario e non possono pertanto essere modificati ma solo rigenerati. Se sono necessari profili di rilevamento BAM può essere necessario eseguire una delle operazioni seguenti: - Evitare di aggiornare frequentemente i numeri di versione durante il processo di compilazione. - Ritardare la compilazione di profili di rilevamento BAM fino a quando i numeri di versione non sono stabili. |
Servizi Web pubblicati mediante la Pubblicazione guidata servizi Web BizTalk | Quando viene usata la Pubblicazione guidata servizi Web per produrre un'interfaccia Web ASP.NET, la versione dell'assembly dell'assembly BizTalk Server è inclusa nel codice sorgente ASP.NET. Il numero di versione dell'assembly viene usato in fase di esecuzione dall'interfaccia ASP.NET come parte della proprietà bodyTypeAssemblyQualifiedName dell'operazione del servizio Web. Se il numero di versione dell'assembly BizTalk Server viene modificato senza aggiornare la proprietà bodyTypeAssemblyQualifiedName, le operazioni successive del servizio Web verranno rifiutate da BizTalk Server. Se l'indirizzo di ricezione utilizza XmlDefaultPipeline, la sottoscrizione è basata sul tipo di documento. Utilizza le informazioni sull'assembly incorporato e non riuscirà se l'assembly non esiste. Se si utilizza PassThruPipeline (impostazione predefinita se si espone una porta e l'indirizzo di ricezione viene creato dalla procedura guidata), la sottoscrizione ignorerà le informazioni sull'assembly incorporato. |
Per altre informazioni sugli assembly e sulla distribuzione di BizTalk Server, vedere Assembly BizTalk.
Controllo del numero di versione
Quando si pianifica un progetto, è possibile scegliere di:
Scegliere una versione di assembly fissa per un determinato componente e incrementare solo il numero di versione del file
Incrementare sia la versione di assembly che la versione del file durante lo sviluppo
Questi due tipi di approccio sono confrontati nella tabella che segue.
Versione assembly fissa, versione file dinamica | Versione assembly dinamica, versione file fissa o dinamica |
---|---|
Numero di versione dell'assembly = Numero fisso Numero di versione del file = Numero build |
Numero di versione dell'assembly = Numero build Numero di versione del file = Numero build |
BizTalk Server runtime può raccogliere la versione errata dell'assembly se vengono installati più assembly. | BizTalk Server esegue sempre la versione più recente dell'assembly, anche se vengono installati più assembly. |
È possibile distribuire una sola versione della soluzione per volta. | È possibile distribuire diverse versioni della soluzione contemporaneamente (anche se è possibile che altri aspetti della soluzione, come le definizioni degli schemi, entrino in conflitto). |
È necessario riavviare l'host BizTalk per forzare il caricamento degli assembly aggiornati. | Forza BizTalk Server caricare nuovi assembly. |
Richiede meno lavoro per creare un nuovo sviluppo perché i file che fanno riferimento al numero di versione dell'assembly (ad esempio i file di associazione e i profili di rilevamento) non necessitano di modifica. | Richiede più lavoro per creare un nuovo sviluppo perché i file che fanno riferimento al numero di versione dell'assembly devono essere mantenuti aggiornati alla nuova versione. |
È possibile scegliere di utilizzare l'approccio versione di assembly fissa eversione di file dinamica se si sta creando il prototipo di un sistema o sviluppando qualsiasi altro tipo di progetto non di distribuzione. Se non si intende distribuire l'applicazione a un utente finale, è possibile semplificare le attività di distribuzione e ridurre le dipendenze interrotte fissando la versione dell'assembly e incrementando il numero di versione del file. Per il rilevamento delle versioni, è necessario ricordare di incrementare il numero di versione per ogni generazione.
Se si sta generando un progetto che verrà distribuito a un utente finale, considerare l'ipotesi di incrementare il numero di versione dell'assembly e, facoltativamente, di memorizzare un numero di versione significativo. Sebbene questo approccio preveda lo sforzo aggiunto della modifica dei numeri di build e delle dipendenze associate, garantisce che vengano utilizzate le versioni più recenti degli assembly. Utilizzando script di distribuzione automatizzata è possibile ridurre l'impatto del controllo delle versioni. Per visualizzare gli esempi di distribuzione, vedere Distribuzione di applicazioni (BizTalk Server cartella esempi).
Nota
Scegliere il meccanismo di controllo delle versioni che garantisca l'utilizzo dei file corretti e semplifichi le operazioni di manutenzione e miglioramento.
Numerazione delle versioni delle funzioni della mappa
Gli assembly .NET possono essere richiamati dall'interno di una mappa usando il functoid scripting . Ciò consente una notevole flessibilità e permette allo sviluppatore di risolvere molti problemi di mapping personalizzato diversi. Impone inoltre un vincolo unico alla mappa: deve fare riferimento internamente non solo al nome del tipo di assembly ma anche al numero completo della versione dell'assembly richiamato. Di conseguenza, se il numero della versione dell'assembly chiamato dalla mappa cambia, tutti i collegamenti che fanno riferimento all'assembly verranno interrotti.
Per evitare questo problema, se è necessario che vengano chiamati assembly da una mappa, è consigliabile creare uno specifico assembly che contenga solo la funzionalità della mappa e il numero di versione dell'assembly è fisso. In questo modo, altre funzioni helper possono aggiornare la versione dell'assembly senza interrompere le mappe.
Se un assembly cui viene fatto riferimento da parte di una mappa viene modificato dopo lo sviluppo della mappa, considerare l'ipotesi di aggiornare la mappa al di fuori dell'editor delle mappe per riflettere i numeri di versione aggiornati.
Per utilizzare il Blocco note per modificare il file della mappa perché rifletta i numeri di versione aggiornati
Usando il menu Start , avviare Blocco note.
Nel Blocco note fare clic su Apri dal menu File. Nella finestra di dialogo Apri selezionare il file della mappa da modificare e quindi fare clic su Apri.
Nel menu Modifica selezionare Trova. Nella finestra di dialogo Trova immettere Assembly=, quindi fare clic su Trova avanti.
Se esiste un riferimento dello script a un assembly esterno, Blocco note dovrebbe trovare un elemento XML simile al seguente:
<Script Language="ExternalAssembly" Assembly="Contoso.Scripts, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c5145e4e089" Class="Contoso.Scripts" Function="CalculateValue" AssemblyPath="Contoso.Scripts.dll"/>
Aggiornare il numero di versione. Se sono presenti più istanze, usare Sostituisci nel menu Modifica .
Salvare il file.
È ora possibile aprire la mappa mediante l'editor di mappe.
Vedere anche
Procedure consigliate per la distribuzione di un'applicazione BizTalk
Admin (cartella di esempi di BizTalk Server)
Distribuzione e avvio di una nuova versione di un’orchestrazione a livello di programmazione