Подтвердить что ты не робот

Visual Studio 2010 script отладчик не работает для меня

Я только что установил VS 2010 Beta 2 и хотел играть с проектом ASP.NET MVC 2. Я просто добавил несколько script (alert('hello');) в представление index.aspx главного контроллера, и я вижу, как он выполняется. Однако, когда я пытаюсь установить точку останова, он никогда не попадает. Я также пытался использовать ключевое слово "отладчик", и когда я это делаю, я получаю неутешительное сообщение "нет исходного кода для текущего местоположения". Я также получаю это сообщение, когда пытаюсь самостоятельно подключиться к процессу IE, в котором работает мое приложение.

Что мне нужно сделать, чтобы получить дружеский опыт отладки script? (Я успешно использовал Firebug для его отладки, но по какой-то причине предпочитаю отладчик VS.)

Вот некоторые подробности моей конфигурации:

  • Я запускаю свой материал в VS 2010 Beta 2.
  • Версия IE8 8.0.7600.16385 - это мой браузер по умолчанию.
  • Отключена опция "Отключить script отладка (Internet Explorer)".
  • Отключена опция "Отключить script отладка (другое)".
  • В моей вкладке свойств веб-проекта ASP.NET MVC 2 проверяется отладчик ASP.NET. Все остальные не отмечены.
  • Отладка Visual Studio 2008 script работает нормально.
4b9b3361

Ответ 1

Отладчик не может одновременно отлаживать код Silverlight и Script, если выбран отладчик Silverlight. Отладка JavaScript отключена.

  • Перейдите к свойствам проекта (Alt + Enter).
  • Для проекта веб-сайта: выберите "Параметры запуска". Или для веб-приложения: перейдите на вкладку "Веб", а внизу вы увидите вариант "Отладчики".
  • Убедитесь, что флажок Silverlight НЕ отмечен, если вы хотите отлаживать JavaScript. (К сожалению, пользовательский интерфейс здесь не ясен об этом побочном эффекте.)

Ответ 2

У меня были те же проблемы. Я не смог заставить IDE даже разбить точку останова, установленную внутри тега script. Однако когда я добавил "отладчик"; поскольку первая строка в теге script смогла получить IDE для ответа, но только для того, чтобы сказать, что disassely не был доступен.

Тем не менее, я смог нажать на инструменты отладки, такие как "step into" и "step over". Когда я это сделал, IDE продвинулась в некоторых внешних скриптах, которые я использую (JQuery и Google Maps). Поэтому я взял блок кода JavaScript из представления и поместил его в отдельный .js файл в папке "Содержимое". Затем я добавил тэг script для ссылки на этот новый .js файл (url = "/Content/Test.js" ).

Это сработало... немного надоедливо, что вам нужно пройти эти усилия, но, возможно, есть что сказать, что JavaScript не включается непосредственно в представление. Я надеюсь, что это ошибка, которую они намерены исправить.

Ответ 3

При отладке в IE VS, похоже, добавляет в Обозреватель решений папку с именем "Script Documents". Внутри этой папки есть еще одна папка под названием "Windows Internet Explorer", и внутри нее я вижу все загруженные js-скрипты и (скомпилированный) HTML файл, отображаемый в настоящее время в IE. Установка контрольных точек в тегах script в этом HTML файле работает для меня.

Ответ 4

Чтобы решить эту проблему, перейдите в "Свойства проекта" и выберите "Параметры запуска". Затем установите флажок "Исходный код". и Снимите флажок Silverlight, потому что обе опции не работают вместе.

Ответ 5

CTRL + Alt + P (Attach to Process), выберите IE, выберите "script" для типа отладки.

Ответ 6

Как отметил Райан, я переместил свой script в отдельный файл в папке Scripts. Я также добавил debug в имя script, чтобы он стал MyTestScript.debug.js. Я включил script через тег script и мог установить точки останова в файле script, который ударил отладчик.

Ответ 7

Я обнаружил, что инструмент Google Chrome devloper отлично показывает JavaScript. В моем случае я обычно загружаю script с помощью функции jQuery getScript, и выполнение кода обычно осуществляется путем обратного вызова jQuery при загрузке страницы или обработке события. В Visual Studio 2010 я часто встречался с ошибкой "Нет источника". Грустный Мне нужен Chrome для отладки JavaScript, который является частью моего проекта Visual Studio.

Ответ 8

Использование отдельного js файла имеет свои недостатки. Например, вы не можете использовать помощники MVC. Microsoft действительно нуждается в этом.

Intellisense также не работает должным образом в блоках script на представлении, даже если вы включаете эталонные комментарии следующим образом:

/// <reference path="/Scripts/jquery-1.6-vsdoc.js" />
/// <reference path="/Scripts/jquery-1.6.js" />

Intellisense отлично работает в файле js с этим подходом.