Debugowanie paczki NuGet-owej - najprostszy sposób.

Debugowanie paczki NuGet-owej - najprostszy sposób.
RO
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 75
0

Hej aktualnie zastanawiam się jak z moich projektów stworzyć nugetowe paczki które ja i moi koledzy w pracy moglibyśmy debugować.

W chwili obecnej wrzucam zwykła paczkę(.nupkg) do folderu sieciowego który dodany jest jako źródło nugetów do VS. Chciałem podobnie zrobić paczkę (.symbols.nupkg).
Tak zrobiłem i wydawało mi się że wszystko działa dopóki nie chciałem sprawdzić jak to działa u innego programisty na komputerze i okazało się ze u kolegi nie działa. Widać u mnie korzystało z kodu źródłowego projektu z którego robiłem nugeta.

Prosiłbym o pomoc jak mogę zrobić żeby wszystko działało jak powinno i żebym nie musiał przechowywać danych na zewnętrznym serwerze - poza firmą

Aventus
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: UK
  • Postów: 2235
1

Zdefiniuj co rozumiesz przez "nie działa". U Twojego kolegi nie widzi klas które powinny być w tej paczce czy kod zachowuje się inaczej niż powinien? Jak generujesz paczki? Próbowałeś korzystać z opcji projektu w VS aby generowało paczki przy budowaniu projektu? Jesteś pewny że paczka którą wrzuciłeś nie jest stara? Czy kolega już wcześniej instalował paczkę z tą wersją, a teraz chce używać nowszą (ale z tą samą wersją)? Pamiętaj że NuGet cachuje paczki lokalnie więc jeśli kolega miał paczkę 1.2.0 a Ty wrzuciłeś nowszą 1.2.0 (czego robić nie powinieneś) to jeśli kolega nie usunął starej 1.2.0 z lokalnego cachu NuGet to będzie korzystał właśnie ze starej wersji.

RO
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 75
0

@Aventus

"Nie działa" - rozumiem jako prosi o wskazanie pliku .cs z kodem na komputerze kolegi.

Projekt jest typu Standard 2.0 paczki generuje za pomocą Publish, przy czym w projekcie podałem wpisy do generowanie (.symbols.nupkg).

Paczka na pewno jest z dobrą wersją bo chciałem dopiero rozpocząć pracę z nugetami (od razu z debugowaniem), a projekt u kolegi był tworzony na potrzeby testu.

Aventus
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: UK
  • Postów: 2235
1

Musisz parę rzeczy poustawiać żeby można było to debugować, tutaj jest to objaśnione: https://www.google.com/amp/s/geeklearning.io/how-to-debug-a-net-core-nuget-package/amp/

Aventus
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: UK
  • Postów: 2235
0

@Robotyka:

Hej wydaje mi się że wszystko robię ok a i tak nie działa - chyba debugowanie bez serwera symboli nie jest możliwe

Symbole możesz załadować ręcznie w trakcie debugowania. Nie potrzebny jest do tego serwer: https://docs.microsoft.com/en-us/visualstudio/debugger/specify-symbol-dot-pdb-and-source-files-in-the-visual-studio-debugger?view=vs-2019

Jest jeszcze inna opcja. Skompiluj swój kod, daj koledze DLL (z plikami pdb), niech odinstaluje paczkę NuGet i doda referencje do Twojego DLL.

VA
  • Rejestracja: dni
  • Ostatnio: dni
2

Przede wszystkim to najlepiej byłoby dobrze napisać porządne testy do tych paczek po to żeby nie było potrzeby ich debugowania przez każdego deva w zespole

RO
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 75
0

Jeśli dobrze rozumiem to do debugowania poza biblioteką i plikiem symboli potrzeba jest jeszcze kodu źródłowego i tu pojawia się pytanie jak to wszystko połączyć żeby wystarczyło wrzucić nuget wraz z symbolami (i kodem źródłowym który jest w paczce .symbols.nupkg) wszystko działało.

kzkzg
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 935
0

Dokładnie tak jak w linku powyżej, robisz dotnet pack z tymi parametrami. U mnie działa.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.