2010-05-20 13 views
7

He escrito un proveedor de configuración protegido personalizado para mi web.config.¿Puedo encriptar web.config con un proveedor de protección personalizado cuyo ensamblaje no está en el GAC?

Cuando intento para cifrar mi web.config con ella me sale el siguiente error de aspnet_iisreg

aspnet_regiis.exe appsettings -pef. -prov CustomProvider (Esto se está ejecutando en mi MSBuild)

No se pudo cargar el archivo o ensamblado 'MyCustomProviderNamespace' o una de sus dependencias. El sistema no puede encontrar el archivo especificado.

Después de comprobar con el registro de la fusión, confirmo que está comprobando tanto el GAC, y 'C: /WINNT/Microsoft.NET/Framework/v2.0.50727/' (la ubicación de aspnet_iisreg). Pero no puede encontrar el proveedor.

No quiero mover mi componente al GAC, quiero dejar el ensamblaje personalizado en mi ApplicationBase para copiarlo en varios servidores sin tener que tirar/empujar del GAC.

Aquí está mi configuración de proveedor en el web.config.

<configProtectedData> 
    <providers> 
    <add name="CustomProvider" 
     type="MyCustomProviderNamespace.MyCustomProviderClass, 
     MyCustomProviderNamespace" /> 
    </providers> 
</configProtectedData> 

Quiero que aspnet_iisreg revise mi carpeta Bin de Base de aplicaciones para este ensamblaje. ¿Alguien tiene alguna idea?

Respuesta

4

Poco sucio, lo que terminé haciendo fue agregar la DLL que realiza el cifrado al GAC de la máquina de compilación. Esto encripta la configuración de acuerdo.

Al implementar la solución, copié el Dll en ApplicationBase, la aplicación fue capaz de descifrarlo con éxito.

Cuestiones relacionadas