Voglio caricare una DLL 2.0 .NET nel mio .Net4.0 dll. Ho cercato la soluzione e ho trovato l'attributo 'useLegacyV2RuntimeActivationPolicy' che posso aggiungere alla mia app.config come in questo url: Mixed mode assembly is built against version 'v1.1.4322'accesso a .net2.0 dll in .net 4.0 dll
Ma il problema per me è che, nel mio caso, sto cercando di usare il .net2.0 dll nella mia DLL 4.0 e non in un exe 4.0. Il motivo è che 4.0 dll viene quindi utilizzato in Excel come componente aggiuntivo di automazione.
Attualmente, quando accedo la mia API .NET 4.0 (che carica la DLL 2.0 per una funzionalità) da Excel, ottengo la "DLL di modalità mista 2.0 non può essere caricata in runtime 4.0" che è comprensibile dal momento che COM ha caricato il 4.0 CLR e quindi non può caricare la DLL 2.0.
In qualche modo ho bisogno di fare la mia 4.0 DLL per caricare il runtime 2.0. Ho provato ad aggiungere un app.config alla dll 4.0 ma suppongo che solo .exe legga app.config per default per caricare il clr. Questo è quello che ho nel mio app.config nel progetto di 4.0 dll ma non serve.
<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<runtime>
<NetFx40_LegacySecurityPolicy enabled="true"/>
</runtime>
</configuration>
Come faccio a risolvere questo problema per consentire il mio NET 4.0 DLL di utilizzare NET 2.0 dll?
Grazie, Mani
Hai provato ad aggiungere la .net 2 dll come faresti con una normale dll? – Jethro
Sembra che non sia una DLL 2.0 .NET - è una DLL .NET 1.1. –
Il file .config è buono, ma deve essere excel.exe.config e copiato nella directory di Office in cui si trova Excel. –