Situación
Tengo un sistema de construcción que se ejecuta muchas construcciones para muchos proyectos. Para evitar que una construcción afecte a otra, bloqueamos al usuario de compilación solo a su área de trabajo. Las compilaciones se ejecutan como usuarios sin privilegios que solo tienen capacidad de escritura en el área de trabajo.C# usar una DLL legado simplemente sin registro (regsvr32)
Desafío
Durante nuestra nueva construcción que tenemos que utilizar un legado 3rdparty DLL que expone su interfaz a través de COM. El equipo de desarrollo quiere registrar la compilación (regsrv32.exe) pero nuestro régimen de seguridad de compilación bloquea esta actividad. Si relajamos el régimen, la DLL de terceros afectará a otras compilaciones y si tengo dos compilaciones que necesitan dos versiones diferentes, es posible que tenga una compilación de compilación incorrecta con respecto a la versión incorrecta (una posibilidad muy real).
Pregunta
¿Hay otras opciones además de registro para manejar archivos DLL de legado que exponen su interfaz a través de COM?
Gracias por la ayuda
Peter
en .NET COM normalmente se hace a través de Interop para registrar .DLL en .NET se llaman ensamblajes y eso se puede hacer de varias maneras ... agregando referencias a través de VS IDE a nivel de proyecto, o escribiendo código que carga y descarga el ensamblado ... mediante el archivo .Config que tiene como referencia el ensamblaje, así como el uso de esa referencia dentro del proyecto ... GAC .. – MethodMan
El registro es * nunca * necesario cuando compila. COM usa una biblioteca de tipos para exponer interfaces. Si ve Regasm.exe en uso, lo está haciendo mal. Use Tlbexp.exe –