Visual Studio 2019 и classic ASP: не удается открыть документ сценария

#visual-studio #debugging #asp-classic

#visual-studio #отладка #asp-классический

Вопрос:

Мне нужно отладить классическое приложение asp, и я испытываю странное поведение.

Это моя настройка:

  • имя сайта: loc.testsite.com
  • папка веб-сайта: d:loc.testsite.com
  • запись в hosts: 192.168.1.11 loc.testsite.com
  • iis:
    • Включить отладку на стороне клиента: верно
    • Включить отладку на стороне сервера: верно
    • Отправка ошибок в браузер: true

Страницы:

default.asp

 <!--#include file="include.asp" -->
<%
main

function main()
    stop
    f1()
    
    dim x
    x = 1
end function   
%>
  

включить.asp

 <%
    function f1()
        dim a
        a = 1
    end function
%>
  

Когда я открываю loc.testsite.com в моем браузере отображается запрос на запуск отладчика из-за инструкции stop в default.asp.
Запускается Visual Studio, и я вижу код default.asp.
Я начинаю отладку с «step into» (F11 в среде по умолчанию) и ввожу include.asp.
Я вижу код include.asp, теперь я в f1 (), поэтому я продолжаю переходить к «end function«.
Теперь я должен вернуться к default.asp в строке «x = 1«, но вместо этого я вижу это сообщение: «Невозможно открыть документ сценария».
После того, как я нажму OK, появится сообщение «Default.asp не найден».

Я часто отлаживаю классический код asp и никогда не сталкивался с этой проблемой; это происходит уже около месяца.

Я попробовал на двух разных машинах с тем же результатом.

Visual Studio обновлена до версии 16.7.6.

Комментарии:

1. Честно говоря, я никогда не использовал VS для отладки классического ASP. Не гарантировал бы, что VS будет поддерживать либо, поскольку классические ASP / VBScript на данный момент довольно древние.

2. @Lankymart какой инструмент вы используете для отладки ASP Classic? Я также использую только VS для целей отладки, начиная с версии VS.NET 2002 год

3. @Zam просто отладочные флаги в коде и Response.Write операторах вместе с пользовательской debug() функцией, которая будет выводить информацию на экран, включая содержимое массивов в виде таблиц. Хорошо служил мне годами.

4. Я отлаживаю classic asp в каждой версии VS с 2010 года. Никаких проблем.

5. @LarryBud Вы пытались перейти на включенную страницу с 16.7.0 ? Что происходит, когда вы должны вернуться на страницу вызова? В сообществе Delevoper другой пользователь сообщил о той же проблеме. ( developercommunity.visualstudio.com/content/problem/1231866 /… )

Ответ №1:

ОБНОВЛЕНИЕ 03/03/2021

Исправление этой ошибки доступно в Visual Studio 2019 16.9.

ОБНОВЛЕНИЕ 28/12/2019

Microsoft исправила это. Надеюсь, обновление для Visual Studio будет доступно в ближайшее время (подробности здесь).

ОРИГИНАЛЬНЫЙ ОТВЕТ

После некоторых исследований выясняется, что такое поведение связано с ошибкой в Visual Studio. Я установил несколько разных версий, и вот что я нашел:

  • версия 16.0.19: ошибка отсутствует
  • версия 16.5.5: ошибка отсутствует
  • версия 16.6.5: ошибка отсутствует
  • версия 16.7.0: первая версия с ошибкой
  • версия 16.7.6: ошибка все еще присутствует
  • версия 16.8 предварительный просмотр 5: ошибка все еще присутствует

Я отправил сообщение об ошибке в сообщество разработчиков Microsoft (подробности здесь).

Тем временем я установил версии v.16.7.6 и v.16.6.5 параллельно (см. Здесь, Раздел «Установка дополнительных версий Visual Studio параллельно»).