Ahora estoy involucrado en el desarrollo de tres capas, usando ASP y VB6.0, pero ahora estoy luchando por encontrar un método adecuado para depurar los archivos DLL que escribí y la eficiencia es bastante baja.
He usado varios métodos:
1. Seleccione desinstalar en IIS, luego vuelva a compilar con VB para sobrescribir la DLL original.
2. Seleccione un sitio que esté depurando en IIS, deténgalo, luego compílelo y sobrescríbalo, luego inícielo y luego actualice la página en IE.
3. Ejecute Regsvr32.exe -u nombre de archivo en la línea de comando y luego compile, sobrescriba y actualice.
Sin embargo, el método anterior no siempre funciona. No hay ningún problema cuando uso Frontpage para crear páginas ASP, pero cuando uso InterDev. siempre informa que el archivo DLL está bloqueado y no se puede sobrescribir el error. A veces, desactivar InterDev (o simplemente cerrar todos los archivos que se están editando) funcionará, pero no siempre.
Quiero usar InterDev para el desarrollo, que es más conveniente, pero no encuentro una manera mejor.
Este problema me ha preocupado durante mucho tiempo. Creo que todos los que desarrollan componentes están confundidos al respecto
.----------------------- --- --------------------------------
Probé el siguiente método esta tarde. No sé si hará reír a todos, pero realmente resolví el problema y me siento bien toda la tarde. Sin embargo, estoy usando el entorno de desarrollo .NET. sigue:
1. Instale .NET. Por supuesto, esto consume muchos recursos del sistema. Después de la instalación, una computadora normal funcionará muy lentamente. Si está nervioso, puede abandonar este método. (Más tarde descubrí que también se puede implementar en frontpage e interdev, jaja. No te quejes, instalé un .net por mis palabras pero descubrí que era de poca utilidad, pero después de usarlo, me enamoré. con eso.)
2. Cree una carpeta para almacenar la DLL. Luego sale nuestra parte más "excelente": cree varias subcarpetas vacías debajo de esta carpeta y asígneles un nombre comenzando desde 01 hasta el valor que desee.
3. Inicie el Administrador de IIS
4. Abra su proyecto en VB6.
5. Ahora, si desea depurar, puede compilar directamente y luego especificar arbitrariamente una carpeta creada en el segundo paso. Creo que es mejor comenzar desde 01.
Actualice la página ASP que está utilizando para la depuración. ¿La ve? El contenido ya es el nuevo archivo DLL que escribió.
Lo anterior es solo la primera depuración después del arranque. Encontré muchos errores durante el proceso de depuración. ¿Siempre soy tan descuidado? Jaja, espero que no seas así :)
Ahora necesito modificar la DLL. Una vez completada la modificación, vuelva a compilar. Encontrará que no puede sobrescribir la DLL en este momento, porque ya llamó a este componente en la página, se colocó en la memoria y se escribió. -protegido. Debe detener su sitio en el administrador de IIS. Si está utilizando .net, encontrará que esto es factible, pero es posible que otros entornos de desarrollo no sean los mismos que ahora configura en el segundo paso. funciona, busque uno de ellos (debería ser 02...) y coloque la nueva DLL aquí. Luego inicie el sitio (no deje que se reinicie, es demasiado lento. La forma más sencilla de realizar los pasos anteriores es seleccionar su sitio en IIS, presionar █ en la esquina superior y luego ▼) (no encontré ▼ , solo puedes seguir ▼
¿Qué tal si
la manecilla de las horas gira 30 grados para leer ^_^) ?
¿Está resuelto el problema?
Recomiendo usar .net, porque con él no necesitas hacer referencias como interdev. Solo necesitas escribir la página con la extensión ASP directamente y luego usar el método server.createobject("") para obtener cada objeto. en el código. Mostrará automáticamente los métodos y atributos de las clases en la última DLL que acaba de compilar.
Si no desea utilizar Codeinsight, creo que la página frontal también es una buena herramienta.
¿Es mi método estúpido?
No uso VB.net o C# porque mi trabajo actual es encapsular código en lugar de recrear un proyecto. En vista de la diferencia de sintaxis entre vbscript y .net, sigo eligiendo este método estúpido y creo que escribir. DLL en VB puede ser mejor. Sería mejor, ¿no?