2009-11-19 29 views
6

OK, así que recientemente me he movido al mundo del desarrollo web después de pasar unos años codificando en un lenguaje propietario bastante simple, y uno de mis primeros trabajos es modificar una antigua página ASP clásica para uno de nuestros clientes Estoy usando Visual Studio 2008 para intentar solucionar algunos problemas que estoy teniendo, pero la página no se cargará en absoluto. Si navego por el sitio localmente con IIS, todo funciona sin problemas, por lo que no estoy seguro de lo que estoy haciendo mal.Classic ASP pregunta super novato

Aquí está el mensaje de error que recibo;

Compiler Error Message: BC30451: Name 'VariableName' is not declared. 

La forma en que esta es la configuración, es que ha file1.asp un include para file2.asp

<!-- #include file=./includes/file2.asp --> 

Entonces file2.asp tiene un puesto de forma file3.asp

<FORM METHOD="POST" ACTION="/includes/file3.asp"> 

Dentro de file3.asp es donde se crea la variable.

Por lo tanto, cuando se ejecuta este sitio a través de IIS, todo funciona, las variables parecen pasar entre archivos sin ningún problema, pero cuando intento depurar el sitio utilizando VS2008, obtengo el código de error BC30451.

¿Alguien puede corregir mi barco? He estado haciendo muchas búsquedas en Google y leyendo en otros sitios web que parecen tratar este tema, pero mucho de esto está pasando por alto. Si alguien puede por favor tomarse el tiempo para explicar por qué ocurre esto, así como para proporcionar algún tipo de solución, o apuntarme en la dirección de algún lugar que pueda ayudar, sería más que muy apreciado.

Cheers,

Pat.

Respuesta

6

can debug classic ASP en Visual Studio 2008. La forma de hacerlo consiste en adjuntar el depurador al proceso que ejecuta sus páginas ASP. Teniendo en cuenta que la depuración clásica de ASP solo funciona con IIS; no funciona con el Servidor web de desarrollo VS (Cassini). Además, asegúrese de depuración ASP que ha habilitado en IIS:

IIS Home Directory Properties http://img4.imageshack.us/img4/6431/capturert.png


IIS Application Configuration http://img26.imageshack.us/img26/4802/capture2qr.png

Una vez que tenga la configuración en IIS como se señaló anteriormente, aquí es cómo conectar el depurador:

  1. Abrir los archivos ASP clásico en Visual Studio
  2. Establecer un punto de interrupción en cualquier lugar que desea romper el código del lado del servidor
  3. Ver la página en un navegador web (asegura que el proceso de host se está ejecutando)
  4. En Visual Studio: Depuración Menú -> Asociar al proceso
  5. Localizar el proceso de trabajo de IIS ASP (w3wp.exe en IIS6, DllHost.exe en IIS5.1)
  6. conferirse a dicho código guión para el proceso de acogida (véase más adelante, por ejemplo)

Attach Debugger Dialog http://img43.imageshack.us/img43/2218/capturegb.png

En este punto, el punto de interrupción debería vincularse y debería poder depurar las páginas ASP clásicas. (Es posible que deba actualizar la página en el navegador web para que el código vuelva a ejecutarse una vez que se haya adjuntado el depurador)

+0

Maravilloso, eso parece haber hecho el truco. Accedo al sitio a través de IIS, y luego depuro adjuntando al proceso IIS, en lugar de depurar usando Cassini. Leí un poco en línea pero no entendí bien ... gracias por la claridad de su sugerencia, es muy apreciada. –

+0

Este fue complicado para mí la primera vez también. Bienvenido a StackOverflow! –

+1

¡Muy bien! Acabo de hacerlo (en parte) en función de tu respuesta. ¡Muchas gracias! – Toothbrush

-1

Nunca he intentado ejecutar ASP clásico en VS2008. Pero no es un lenguaje compilado, y no creo que pueda ejecutar un depurador en él. Cuando hice ASP, acabo de hacer un montón de Response.Write para depurar.

Cuestiones relacionadas