Después de revisar varios artículos diferentes y no encontrar nada especialmente concluyente que me lleve paso a paso a través del proceso, he venido buscando ayuda .Creando una biblioteca de interoperabilidad COM para ASP Classic usando el framework 4.0 y Visual Studio 2010
El Escenario
Un cliente mío sólo es competente en el desarrollo de ASP Classic. Recientemente han adquirido una cuenta para un sitio escrito originalmente en ASP.NET. Están convirtiendo el sitio en algo que pueden mantener activamente, pero el sitio originalmente incluía un manejador de imágenes que tomaba dinámicamente datos cambiantes con respecto a los niveles de agua y generaba una imagen que contenía una representación gráfica de esos datos. El requisito es desarrollar una biblioteca de interoperabilidad COM que pueda registrarse en el servidor y llamar con CreateObject para generar la matriz de bytes de la misma imagen para el resultado usando Response.BinaryWrite. La biblioteca de interoperabilidad COM debe estar registrada en el sitio remoto en un servidor de Windows 2000, y no puedo suponer que tengan acceso a regasm/gacutil para llevar a cabo esa tarea.
la dificultad
he construido la biblioteca de clases mediante la creación de un proyecto de biblioteca de clases en Visual Studio 2010, la elección de "Clase COM" de la plantilla, y la inserción de código para generar una clase con un único método público para devolver una matriz de bytes cuando se le da un número entero (bueno, enumerador, pero de todos modos). Desafortunadamente, incluso en mi propia máquina de desarrollo después de construir la biblioteca y registrar (regasm) y almacenar en caché el ensamblado (gacutil), no puedo hacer una llamada a través de Classic ASP para crear una instancia del objeto, recibiendo un componente "ActiveX que no puede crear objeto "error". Y, por supuesto, en el sitio del servidor, el archivo DLL no se puede registrar, la respuesta es "No se encontró el módulo obligatorio".
Recursos He usado
ya he tenido una mirada a través de los siguientes artículos y no han aparecido las respuestas que necesito:
- (pasos básicos) Walkthrough: Creating COM Objects with Visual Basic
- Build and Deploy a .NET COM Assembly
- .NET COM+ Interop Component with Classic ASP
lo que necesito
Esencialmente lo que necesito es un poco de mano de retención en una especie de paso a paso de lo que va a tomar para cumplir con los requisitos y crear un módulo COM+ interoperabilidad correctamente en Visual Studio 2010. Crear el objeto de clase real en sí mismo no es terriblemente difícil.
Sin embargo, ninguno de los artículos que he analizado realmente discute opciones de proyecto o procedimientos de compilación con Visual Studio 2010 o .NET 4.0 Framework, ni ninguno de ellos realmente se discutió si hay consideraciones especiales para implementar en sistemas anteriores como Windows Server 2000 y el registro real de la biblioteca en un sistema con solo, por ejemplo, regsvr32 disponible.
Para todos aquellos que vienen detrás: Al hacer un poco más la tarea, yo quería hacer notar aquí que también necesitaba orientar mi biblioteca para el .NET Framework 2.0 ya que es el último marco con el apoyo de Windows Server 2000. – lsuarez