Pregunta

Soy el responsable de mantener el código de VB6 legado, y se han encontrado con un problema molesto con respecto a la fijación del COM DLL de un proyecto. (Lo llamaremos MiProyecto y MyProject.dll )

Cuando cargo MyProject en el IDE VB6, soy capaz de compilar el DLL compatible binario resultante MyProject.dll . A continuación, puedo manejar mi (ASP clásico) aplicación web que ganchos en la DLL (o cualquier otra cosa para esa materia).

Así que, cuando intento volver a compilar el archivo DLL COM, me sale un 'permiso denegado' error. entonces me encuentro a mí mismo tener que llevar a cabo los siguientes pasos para que el DLL que ser desbloqueados:

  1. Compruebe que no tengo proyectos dependientes abren en otros entornos de desarrollo de Visual Basic 6
  2. Reciclar IIS
  3. Compruebe el archivo no es de sólo lectura (a veces lo será si he comprobado en el control de la fuente)
  4. Cerrar el proyecto y volver a abrirlo.

A menudo es el último paso que corrige el problema, y ??me permite volver a compilar, lo que significa que el IDE de VB6 es en realidad bloqueando el DLL del proyecto cargado!

Mi colega me explicó que tenía que ver con la forma en que un proyecto de VB6 trabaja con la compatibilidad binaria en el DLL, pero no fue capaz de sugerir una solución.

Mis búsquedas en otros lugares han dado muy poco en la forma de respuestas. Las consultas de búsqueda que están relacionados con este tienden a devolver una gran cantidad de respuestas no relacionadas (tal vez estoy pidiendo lo incorrecto de los motores de búsqueda).

Lo más parecido que pude encontrar en Stackoverflow era esta pregunta de un par de años atrás, pero realmente no encaja el proyecto de ley.

¿Alguien tiene alguna otra sugerencia que podrían mejorar esta?

¿Fue útil?

Solución

Mantener una copia de MyProject.dll llamado MyProject.cmp y punto de calado compatible binario para su archivo .cmp. De esta manera no tendrá que volver a abrir archivo de proyecto (paso 4).

Durante el registro se puede marcar Solicitud de registro de salida para saltar el paso 3 también.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top