Ottenere un “ComponentActivatorException” utilizzando il Castello di Windsor da .NET 4.0 utilizza un componente .NET 2.0

StackOverflow https://stackoverflow.com/questions/2276033

Domanda

Ho una domanda che si sta sviluppando in VS2010, e si avvale del Castello di Windsor-CIO, attraverso un file di configurazione.

Una delle componenti sto registrando, sviluppati anche in VS2010, fa riferimento a un componente NET 2.0 (LEADTOOLS), in modo da ricompilare il progetto 2.0 non è un'opzione. Al termine della registrazione del componente involucro è fatto, un "ComponentActivatorException" viene sollevata, che avvolge una "System.TypeInitializationException", che a sua volta avvolge una "System.IO.FileLoadException" con un messaggio di "assemblaggio modalità mista è costruito contro la versione 'v2 .0.50727' del tempo di esecuzione e non possono essere caricati nel runtime 4.0 senza informazioni di configurazione aggiuntive ".

Ho aggiunto la dichiarazione di runtime per il file di configurazione dell'applicazione, come:

<!-- useLegacyV2RuntimeActivationPolicy is needed for LEADTools-->
<startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  <supportedRuntime version="v2.0.50727" />
</startup>

Questo funziona bene se il componente di avvolgimento non è registrato a Windsor, tuttavia, non sembrano ignorare le direttive altrimenti.

Grazie!

È stato utile?

Soluzione 2

Il problema era dovuto all'uso di "definire" s e "se" s all'interno del file di configurazione, per la documentazione microkernel . Rimozione di tutti questi elementi dal file app.config ammessi i componenti da un'istanza, anche se non sono stati registrati nel contenitore Windsor.

Altri suggerimenti

Presumo che si sta utilizzando la registrazione via XML?

Che cosa succede se si registra il componente in codice?

Puoi provare a riprodurre il problema senza errori?

chiamata Type.GetType("assembly qualified name of the type from .net 2.0 assembly");

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