Ошибка инструкции Typescript: «Точки останова установлены, но еще не связаны» в VS2017 - PullRequest
0 голосов
/ 02 июня 2018

Я создаю проект с "dotnet new angular".Когда в команде Typescript установлена ​​точка останова, при запуске она отображается в виде красного кружка.Сообщение об ошибке: «Точка останова в настоящее время не будет достигнута. Точки останова установлены, но еще не связаны.»

Эта проблема началась, когда я обновил .Net Core SDK 1.x до 2.x Является ли это ошибкой в2.x или что-то делать с моей настройкой?У кого-нибудь, использующего 2.x, есть точки останова Typescript, работающие в VS2017?Ниже я подробно опишу мою настройку и там, где она не работает.

Чтобы дублировать проблему, вы можете установить точку останова на this.currentCount ++;в ClientApp \ src \ app \ counter \ counter.component.ts и затем нажмите «Увеличение» на странице «Счетчик».

В настоящее время я использую последние официальные выпуски:

Visual Studio Pro 15.7.2
.Net Core SDK 2.1.300 (x64)
.Net Core Runtime 2.1.0 (x64)

Я пробовал другие версии SDK 2.x.Это терпит неудачу в v2.1.4 & v2.1.300.Но точки останова успешны в v2.0.0, 2.1.200 и 2.1.201.

Разница в том, что при успешном выполнении каждый из SDK генерирует файлы "webpack.config.js" & "webpack.config.vendor.js" в корне проекта во время "dotnet new".угловой».Последний выпуск 2.x не генерирует эти файлы в корне.Поэтому я не хочу использовать предыдущие выпуски, которые были.

Другое отличие состоит в том, что рабочие проекты определяют местоположение «ClientApp» в webpack.config.js.В тех проектах, которые терпят неудачу, расположение ClientApp определяется в файле startup.cs.

Дополнительная информация:

При использовании sdk v2.1.201 (тот, который работает) сгенерированный package.json содержит:

"typescript": "2.4.1",
"webpack": "2.5.1",
"webpack-hot-middleware": "2.18.2",
"webpack-merge": "4.1.0",

Используя sdk v2.1.300 (который не работает), сгенерированный package.json содержит:

"typescript": "~2.5.3"

, но не содержит записей для веб-пакета.В node_modules / .bin есть "webpack.cmd", версия которого 3.11.0.

Когда я набираю "tsc -v" в окне Команды разработчика VS2017, я получаю:

version 2.8.4

ОБНОВЛЕНИЕ: я добавил проблему к .Net SDK .
Меня попросили открыть Элемент обратной связи с разработчиками для Visual Studio .Они считают, что это проблема VS для инструментов TS / JS.

Если у вас также есть эта проблема, это может помочь повысить ее приоритет, если вы добавите на страницу обратной связи.

UPDATE (2018-03-23) РЕШЕНО

Возможно, эта проблема была решена раньше, чем сегодня, но до сегодняшнего дня я не рассматривал ее снова.Сегодня я обновил VS2017 до версии 15.9.9, .Net Core SDK до версии 2.2.105 и .Net core Host до версии 2.2.3.Ввод "tsc -v" в приглашении разработчика показывает "Версия 3.1.2".

Когда я сейчас запускаю "dotnet new angular" и устанавливаю точку останова для "this.currentCount ++", точка останова попадает.

ПРИМЕЧАНИЕ. Эта проблема все еще может возникать при запуске клиентского приложения в других браузерах, кроме Chrome.Но я всегда использовал Chrome, когда у меня была проблема раньше и сегодня, когда она выглядит решенной.

Ответы [ 2 ]

0 голосов
/ 23 марта 2019

29 августа 2018 года Блэр Ван сообщил о решении этой проблемы: https://developercommunity.visualstudio.com/content/problem/268468/typescript-breakpoints-not-hit-in-visual-studio-15.html#reply-323159

    "This issue has been fixed and is now available in our latest update. You can download the update via the in-product notification or from here: https://visualstudio.microsoft.com/vs/"

Я не видел этого до сегодняшнего дня (2018-03-23), когда япротестировал исправление, используя:

    Visual Studio v15.9.9
    .Net Core SDK 2.2.105
    .Net core Host 2.2.3
    Typescript 3.1.2
0 голосов
/ 29 сентября 2018

Обновление от Microsoft в связанном потоке:

Точки останова надписями в Visual Studio не будут работать для базовых проектов ASP.NET в настоящее время в любой из двух ситуаций:

  1. Если вы переименовали / удалили каталог «ClientApp» в вашем проекте Visual Studio, чтобы он был чем-то другим, ИЛИ
  2. У вас есть файлы Typescript / JavaScript в другом каталоге (отличном от ClientApp).

К сожалению, в настоящее время у нас нет способа разрешения точек останова в файлах Typescript за пределами папки ClientApp.Мы работаем с соответствующими командами в Visual Studio для исправления того же самого, но если это изменение повлияет на вас, я бы рекомендовал перейти к работе в папке «ClientApp».

Мой обходной путьчто я отлаживаю интерфейс отдельно, используя VSCode, который не идеален, но кажется единственным способом заставить его работать с ядром .net и пользовательской структурой проекта

...