Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Configurazione di un'applicazione COM per l'esecuzione side-by-side

Un file di configurazione dell'applicazione consente di associare un'applicazione COM a uno specifico componente gestito e di specificare la versione del runtime con cui deve essere eseguito il componente. Gli sviluppatori di applicazioni COM possono creare un file di configurazione dell'applicazione basato su .NET Framework ed effettuarne la distribuzione con le applicazioni.

Se un'applicazione non gestita non dispone di un file di configurazione dell'applicazione, la versione del runtime utilizzata per caricare il componente viene determinata come segue:

  • Se il componente è stato creato con .NET Framework 4 o versioni successive, viene caricato con il runtime utilizzato per crearlo.

  • Se il componente è stato creato con una versione precedente di .NET Framework, viene caricato con la versione più recente del runtime installata nel computer, che deve essere precedente alla versione 4. Ad esempio, se un componente è stato creato con .NET Framework 1.1 e nel computer sono installate tre versioni di .NET Framework (.NET Framework 1.1, .NET Framework 3.5 SP1 e .NET Framework 4), il componente viene caricato con .NET Framework 3.5 SP1. Questo comportamento è predefinito nelle versioni precedenti .NET Framework 4.

Questo comportamento di caricamento influisce sui componenti caricati affiancati nello stesso processo. Il runtime per .NET Framework 4 può essere eseguito in-process con un runtime di una versione precedente di .NET Framework. Vedere Esecuzione side-by-side in-process.

Se il comportamento di caricamento predefinito non soddisfa i requisiti dell'applicazione COM, è possibile utilizzare l'elemento <supportedRuntime> nel file di configurazione dell'applicazione per specificare la versione del runtime necessaria. È ad esempio possibile specificare la versione del runtime 1.1.4322, con cui viene caricato .NET Framework versione 1.1. Per istruzioni, vedere Scelta di una versione di .NET Framework.

Nota Nota

Nelle applicazioni COM contenute in un host estendibile, quale Microsoft Internet Explorer o Microsoft Office, non è possibile controllare la versione del runtime caricata.

Se si dispone di componenti creati sia in .NET Framework 4 che in una versione precedente di .NET Framework, è necessario elencare entrambe le versioni come runtime supportati, perché il comportamento di caricamento predefinito non utilizza .NET Framework 4 per caricare il componente precedente. Per imporre al componente precedente il caricamento con .NET Framework 4, impostare l'attributo useLegacyV2RuntimeActivationPolicy su true nell'elemento <startup> del file di configurazione. In questo modo viene ripristinato il comportamento di caricamento predefinito prima di .NET Framework 4, che prevede l'utilizzo della versione più recente di .NET Framework supportata.

In assenza di un file di configurazione dell'applicazione, il runtime determina il caricamento della versione più recente dell'assembly registrato nel Registro di sistema di Windows che contiene il tipo che deve essere attivato da COM. È possibile utilizzare l'elemento <bindingRedirect> nel file di configurazione dell'applicazione per indirizzare l'associazione dell'applicazione a una precedente versione dell'assembly. Per istruzioni, vedere Reindirizzamento delle versioni di assembly.

È possibile reindirizzare più versioni di assembly includendo più elementi <bindingRedirect> in un elemento <dependentAssembly>.

Mostra: