Хобрук: Ваш путь к мастерству в программировании

Невозможно использовать библиотеку Stepinto Nuget с загруженными символами

Моя библиотека Nuget загружена в Артефакты Azure Devops. Он также имеет файл символов (.PDB), опубликованный на сервере символов Azure Devops. Я добавил в свою Visual Studio настройки для загрузки символов с сервера символов Azure Devops, следуя указанным инструкциям здесь.

Во время выполнения, когда я пытаюсь перейти к коду (библиотеки Nuget), я получаю сообщение об ошибке, в котором говорится, что я не могу найти путь к файлу .cs. Я пробовал различные предлагаемые решения, такие как «Снимите флажок« Включить своевременный код времени »,» Включите пошаговое выполнение исходного кода .Net Framework и т. Д. Но не повезло.

Вопрос такой:

  • Я создал пакет nuget, используя конфигурацию сборки как Release. Это причина того, что я не могу вмешаться в Кодекс? Я думал, что наличие файлов PDB, загруженных в VS, должно помочь преодолеть это. Пожалуйста, порекомендуйте.

  • Отладьте свою программу и откройте окно «Модули» (Отладка ► Windows ► Модули). Найдите в этой таблице строку, соответствующую вашей DLL, заполнен ли столбец «Файл символов»? 02.04.2020
  • Кроме того, если столбец «Файл символов» не заполнен для вашей DLL, получите путь к DLL и перейдите к каталогу, содержащему DLL, в проводнике, есть ли там PDB-файл? 02.04.2020
  • Я проверил окно модулей во время отладки, и в нем говорится, что символы загружены. Я проверил путь к файлу pdb, и фактический файл .pdb находится на этом пути. 02.04.2020
  • О, я пропустил, что вы создали пакет как «Release» - да, попробуйте сборку «Debug». 02.04.2020
  • Я пробовал использовать сборку отладки, и она сработала. Но как я могу использовать сборку отладки для производства? 03.04.2020
  • На самом деле он должен работать, хотя ваш пакет построен в режиме выпуска, просто следуйте документу и убедитесь, что он может работать хорошо, если все шаги были правильными. Не могли бы вы поделиться некоторыми подробностями о том, как вы определяете задачи конвейера, чтобы я мог проверить это для вас? 03.04.2020

Ответы:


1

Я создал пакет nuget, используя конфигурацию сборки как Release. Это причина того, что я не могу вмешаться в Кодекс? Я думал, что наличие файлов PDB, загруженных в VS, должно помочь преодолеть это.

Это не причина, по которой вы не можете войти в код. Он должен работать, даже если вы используете пакет nuget, созданный в режиме Release. Пожалуйста, ознакомьтесь с этими тремя советами:

1. Убедитесь, что вы выбрали такие же настройки, как у меня, при использовании задачи Index sources and publish symbols для опубликовать символы для отладки.

введите здесь описание изображения

2. В Visual Studio добавьте новый сервер символов (организация, которая владеет конвейером и размещает поток артефактов):

введите здесь описание изображения

3. Снимите флажок, чтобы включить только мой код в отладке => общие:

введите здесь описание изображения

Тогда это хорошо сработало на моей стороне. Надеюсь, мои шаги помогут. Дополнительную информацию по этой теме вы можете найти в этом блоге .

03.04.2020
  • Это сработало как шарм. Спасибо. Мне не хватало флажка Включить поддержку исходного сервера. 03.04.2020
  • Я снова получил ошибку. На этот раз он сказал: «Файл 'd: \ a \ 1 \ s \‹ ‹projectname› ›\‹ ‹filename› ›.cs» не существует. Это путь агента, размещенного в конвейере CI. У меня все настройки указаны выше. 16.04.2020
  • Как ни странно, когда я тестировал это с пакетом nuget .net framework. Появилось окно с вопросом, нужно ли загружать с исходного сервера, и после того, как я выбрал сервер, все заработало. Принимая во внимание, что когда я пытаюсь отладить пакет nuget проекта .NetStandard, он не дал мне возможности загрузить и просто дал мне указанную выше ошибку. 16.04.2020
  • Отметьте это: source indexing is currently not enabled for portable .pdb files because SourceLink doesn't support authenticated source repositories. The workaround at the moment is to configure the build to generate full .pdb files. 17.04.2020
  • Просто догадываюсь, я думаю, что ваша проблема связана с этой причиной. Основной проект .net будет построен по умолчанию в режиме портала! Обходной путь - установить полную отладочную информацию. (Project = ›Properties =› Build = ›Advanced =› Информация об отладке) Обратите внимание, если вы хотите отладить с помощью пакета выпуска, вам необходимо убедиться, что вы собираете выпуск с полным режимом, а не с полным режимом отладки. (Проект = ›Свойства =› конфигурация выпуска = ›аналогичные шаги, указанные выше) 17.04.2020
  • Я не мог заставить его работать в режиме выпуска, не входил в 19.05.2020
  • Генерируется ли pdb в режиме выпуска с полным символом отладки? 20.05.2020
  • Новые материалы

    Статическая типизация в TypeScript: основы Typescript
    Понимание статической типизации TypeScript, расширенный набор JavaScript, был разработан Microsoft в 2012 году для устранения некоторых ограничений JavaScript. Одним из его основных предложений..

    Как использовать SAAS на благо вашего бизнеса
    В деловом мире SAAS (программное обеспечение как услуга) становится все более популярным. И неудивительно, почему — SAAS предоставляет ряд преимуществ для предприятий любого размера. Вот лишь..

    Приложения случайного блуждания, часть 1 (статистика + машинное обучение)
    Смещенное случайное блуждание при динамической перколяции (arXiv) Автор: Себастьян Андрес , Нина Гантерт , Доминик Шмид , Перла Сузи Аннотация: мы изучаем смещенные случайные..

    Интеллектуальная масштабируемая обработка видео в реальном времени в Azure
    1. Введение В этом руководстве создается сквозной проект для интеллектуальной масштабируемой обработки видео в реальном времени в Azure. При этом создается возможность обнаруживать граффити и..

    Варианты использования положительной изотропной кривизны, часть 6 (машинное обучение)
    Четыре-орбифолды с положительной изотропной кривизной (arXiv) Автор : Хун Хуан Аннотация: Мы доказываем следующий результат: Пусть (X,g0) — полное связное 4-многообразие с равномерно..

    Внутри эпистатических сетей
    Регуляция нейронных сетей для лучшего прогнозирования ландшафтов биологической пригодности Сопоставьте свой индуктивный уклон с областью вашей проблемы Всем алгоритмам машинного обучения..

    Создание полноценного интерфейса командной строки с использованием Python | Расширенный Python
    Создание полноценного интерфейса командной строки с использованием Python — Advanced Python Чтобы изучить расширенные функции языка программирования, вам следует попробовать создать..