2011-08-16 32 views
8

quiero cargar un archivo DLL .NET 2.0 en mi .Net4.0 DLL. Busqué la solución y encontré el atributo 'useLegacyV2RuntimeActivationPolicy' que puedo agregar a mi app.config como en esta url: Mixed mode assembly is built against version 'v1.1.4322'acceder a .net2.0 DLL en un archivo DLL .NET 4.0

Pero el problema para mí es que, en mi caso, estoy tratando de usar el .net2.0 dll en mi 4.0 DLL y no en un 4.0 exe ​​. La razón es que este 4.0 dll se usa luego en Excel como un complemento de automatización.

En la actualidad, cuando Acccess mi API .NET 4.0 (que carga el DLL 2.0 para una característica) de Excel, me sale el 'mixto DLL modo de 2.0 no se puede cargar en 4.0 tiempo de ejecución', que es comprensible, ya que COM ha cargado el 4.0 CLR y por lo tanto no puede cargar el dll 2.0.

De alguna manera tengo que hacer mi DLL 4.0 para cargar el tiempo de ejecución 2.0. Traté de agregar un app.config al dll de 4.0, pero supongo que solo .exe lee el app.config de forma predeterminada para cargar el clr. Esto es lo que tengo en mi app.config en el proyecto de 4.0 dll pero sin uso.

<?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> 

¿Cómo puedo solucionar este problema para que mi .NET 4.0 DLL utilizar .NET 2.0 DLL?

Gracias, Mani

+1

¿Ha intentado simplemente agregar .NET 2 dll como lo haría con una dll normal? – Jethro

+0

Parece que no es una DLL .NET 2.0, es una DLL .NET 1.1. –

+7

El archivo .config es bueno, pero debe ser excel.exe.config y copiarse en el directorio de Office donde se encuentra Excel. –

Respuesta

4

La respuesta ya está hecho por Hans Passant pero él ha publicado como un comentario. Por lo tanto, respondiendo esto por separado aquí.

La configuración debe llamarse excel.exe.config y debe estar en el mismo directorio de oficina que excel.exe para que funcione este escenario.