Witam, zrobiłem sobie swoją bibliotekę dll w C# (Visual Stufio 2019 2019), którą używam w innym projekcie. Co jakiś czas dodaje nowe klasy do mojej biblioteki DLL, po skończeniu pracy kompiluje swoją bibliotekę i powinno być ok.
I teraz problem, gdy dodaje do innego projektu swoją DLL - kę to nie widzę nowych dodanych klas, tylko stare. Wcześniej nie było z tym problemu teraz mam, co mam kliknąć w Visual Studio aby wszystko dobrze się skompilowało i gdzie szukać mam poprawnie skompilowanej swojej biblioteki dll.
Proszę o pomoc, bo dużo czasu nad tym zmarnowałem.
Pozdrawiam Tomasz J
Clean/rebuild ?
jeśli problem jest w cachowaniu (nie jestem mistrzem świata, ale wiem ze jest), to może pomóc inkrementowanie numeru wersji - ręczne (możesz od ręki spróbować czy leczy) lub automatyczne (trzeba sobie wtedy project urobić)
Szlak mnie trafia. Do istniejących klas dodaje nowe metody publiczne i są one widoczne, ale nowej klasy po kompilacji nie widać :/.
Napisz jak tą dl-kę w ogóle podpinasz. Możesz ten swój projekt biblioteki po prostu dołączyć do solucji drugiego projektu.
Link do filmu YT co i jak robię: link .
A jak sprawdzisz sobie w konsoli za pomocą objdump -T twojabibliotek.dll
to znajdujesz na tej liście twoje nowe funkcje?
Ogólnie są 3 sposoby ładowania bibliotek, gdzie tylko dwie są do dynamicznych .dll/.so
, ostatnia to statyczna .a
Niejawne gdzie ci za ciebie ładuje program podczas startu i jawnie gdzie ręcznie robisz loadlibrary
Nie wiem czy to też jakiś problem typowo IDE nie jest, w innych językach biblioteki są pobierane automatycznie z githuba np. CMake sam pobiera libkę o danej wersji z githuba.
A nie możesz dać ref. do tamtego projektu?
albo wystawić tę dllkę jako nuget?
a próbowałeś jak w/w pisali (chociaż nie bezpośrednio) - usunąć foldery bin i obj po wrzucniu nowej wersji dllki?
A może po prostu uczyń tę klasę publiczną :)
Może kompilujesz z debug, a używasz release
1a2b3c4d5e napisał(a):
A nie możesz dać ref. do tamtego projektu?
albo wystawić tę dllkę jako nuget?
a próbowałeś jak w/w pisali (chociaż nie bezpośrednio) - usunąć foldery bin i obj po wrzucniu nowej wersji dllki?
A może po prostu uczyń tę klasę publiczną :)
"public class Dodatkowe" - pomogło.
Dzięki wszystkim za pomoc, tyle czasu zmarnowane z tym.
Pozdrawiam wszystkich.
Wiesz, co o tym myślimy ?
Wiem, niedzielny programista. Bo to prawda siedzę nad kodem tylko w weekendy od niedawna w c# :), mam ponad 2 lata przerwy jakiegokolwiek kodowania (wcześniej coś tm klepałem dla siebie w Java). Dlatego na początku ten post dałem w dziale "Edukacja" nie pchałem się na salony.
Mimo wszytko dzięki.
Każdy się może potknąć, ale zamieszczanie kodu w pięćset siedemdziesiąt drugim odcinku brazylijskiego serialu to drugie ...