Библиотека отладки Nuget - PullRequest
       40

Библиотека отладки Nuget

1 голос
/ 16 февраля 2020

У меня есть набор библиотек Nuget, которые я сам компилирую и изменяю.

Я создаю их без публикации на каком-либо сервере Nuget. ( Это не моя библиотека )

С другой стороны, у меня есть проект, использующий такие Nugets, но я буду sh для их отладки ...

В лучшем случае я sh должен:

  • использовать мои локальные .dll и .pdb
  • отладку с использованием локального .pdb и (обновленного) исходного кода

Я ищу наилучшее возможное решение, если возможно, загружая все локальные символы, но я не уверен, что это возможно.

Может быть, мне нужно создать свой собственный локальный Nuget сервер и использовать локальный сервер символов тоже, но это выглядит излишним?

Ответы [ 2 ]

1 голос
/ 18 февраля 2020

Может быть, мне нужно собрать свой собственный локальный сервер Nuget и тоже использовать локальный сервер Symbol, но это выглядит излишне?

Насколько я знаю, когда вы хотите отладить библиотека nuget в новом проекте, вы должны добавить необходимые nuget.pdb и связанные xxx.cs исходные файлы в новый проект.

Согласно вашему описанию, пакет nuget создан вами, что упрощает его реализацию:

1) Если у вас есть nuget.pdb Файл и соответствующий файл cs на локальном компьютере, вам просто нужно поместить файл PDB в выходной файл проекта, который ссылается на nuget, и затем щелкнуть правой кнопкой мыши в Solution -> Properties -> Common Properties -> Debug Source Files -> чтобы добавить путь к папке, в которой существуют файлы cs.

enter image description here

2) Если у вас нет текущего файла nuget.pdb и связанных исходных файлов cs для отладки на локальном компьютере, вам необходимо включить эти файлы в nuget.nupkg при создании пакета nuget с помощью nuget.exe cli с xxx.nuspec, чтобы эти файлы можно было добавить в текущий агент при установке пакета nuget.

** Примечание: ** Это специальные шаги для создания вашего пакета nuget:

A) , пожалуйста, убедитесь, что вы загрузили nuget.exe, а затем установите его путь к переменным среды, чтобы его можно было вызывать в CMD. Вы можете сослаться на this .

B) Открыть CMD, введите cd xxxxxx (путь к проекту, который содержит xxxx.csproj)

C) введите nuget spec, чтобы создать файл xxx.spec

enter image description here

Затем откройте его и добавьте вот так:

<?xml version="1.0" encoding="utf-8"?>
<package >
  <metadata>
   ........
  </metadata>
<files>
<file src="bin\Debug\ClassLibrary11.pdb" target="lib\target framework version (like net472 or netstandard2.0)" />------ClassLibrary11.pdb is the nuget.pdb
 <file src="Class1.cs" target="src" />------Class1.cs is the source file
</files>
</package>

D) , затем введите nuget pack для создания пакета nuget, содержащего эти файлы отладки.

E) при установке этот пакет Nuget в новом проекте, пожалуйста, не забудьте сначала очистить кэш Nuget . После этого вы должны добавить путь к файлам ресурсов в Debug Source Files. (Файлы ресурсов существуют в C:\Users\xxx\.nuget\packages\package name\src или C:\xxxxx\ConsoleApp(project folder)\packages\package name\src)

Редактировать

F) Когда вы начнете отлаживать его, не забудьте отключить Just My Code In Tools -> Options -> Debugging -> General -> снять отметку Enable Just My Code.

Кроме того, вы можете рассматривать ссылки на источники в качестве источника контроля, чтобы вы не настраивали путь к исходному коду с помощью Solution => properties.

Кроме того , вы можете обратиться к этой аналогичной проблеме .

0 голосов
/ 16 февраля 2020

Полезно, , кажется, соответствует тому, что вам нужно.

Также полезно, и, возможно, это.

Как я уже сказал, это не совсем перебор - На самом деле это действительно хороший вопрос!

Я могу предоставить больше ссылок ( Или больше информации ) при необходимости:)

...