выражение debugger в js-файле dll-сборки не ловится отладчиком
От: Neco  
Дата: 19.10.16 15:07
Оценка:
Базируясь на вот этом примере
https://dzone.com/articles/aspnet-bundlingminification
попробовал встроить в ClassLibrary проект js-файл. всё получилось — он работает.
но студия никак не реагирует на ключевое слово debugger в тексте.
сейчас ссылки на js выглядят как-то так:
<script type="text/javascript" src="/emb-[blablabla.dll]/my.namespace.folder.script.js"></script>

соответственно настроил mvc'шный роут и натравил на хэндлер, который регулярным выражением достаёт название сборки и название embedded ресурса, читает его и выдаёт в вывод.
если в проект физически положить файл по пути с небольшим изменением:
<script type="text/javascript" src="/emb1-[blablabla.dll]/my.namespace.folder.script.js"></script>
то debugger в нём работает нормально.
сверял заголовки ответа — всё идентично, нашёл только разницу в X-SourceFiles, поскольку emdedded файл там ссылался на несуществующий файл, а обычный файл на существующий. попробовал выставить этот заголовок руками — без разницы.

что ещё:
* в студии во время отладки в разделе Script Documents этот embedded файл появляется нормально — все слова debugger на месте, файл не преобразуется. Имя файла законное — my.namespace.folder.script.js
* если в Script Documents найти этот файлик и руками поставить бряк-поинт (через F9), то студия на нём останавливается.
* если проект запустить через ctrl+f5, то в момент прохода debugger-строки, появляется браузерное (как-будто бы) окошко "Visual Studio Just-In-Time", в котором предлагается выбрать отладчик. Если выбрать студию (тот же самый запущенный проект), то студия переходит в режим отладки и нормально останавливается на debugger-строке. Если же отказаться от выбора отладчика, то в дело вступает отладчик браузера (IE) и он тоже нормально ловит debugger.
* если в студии отключить галку "Just My Code" в настройках, то студия начинает цепляться за debugger. т.е. вероятно embedded-javascript не рассматривается студией как "мой код".
* пробовал поиграть с файлом mycode.json — на файлы внутри веб-проекта содержимое этого файла влияет, на embedded-файлы нет.
* вот здеся говорится о некоей классификации кода (MyCode, Library, Unrelated), но формулировки весьма размытые.

вопросы:
— что может мешать студии ухватиться за ключевое слово debugger внутри embedded-файлов? как дать студии понять, что это "мой код"? Что можно ещё попробовать?
всю ночь не ем, весь день не сплю — устаю
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.