Debugowanie paczki NuGet-owej - najprostszy sposób.

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ą

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.

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.

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/

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.

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

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.

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1