Problem z referencją do DLL w aplikacji z wstrzykiwaniem zależności

Odpowiedz Nowy wątek
2019-05-20 19:25
0

Witam
Mam problem z wykorzystaniem biblioteki SSH.NET w projekcie .net Core
Aplikacja kompiluje się i działa bez problemu do czasu aż próbuję wywołać metodę gdzie korzystam z referencji do w.w biblioteki. Dostaję błąd

Could not load file or assembly 'Renci.SshNet, Version=2016.1.0.0, Culture=neutral, PublicKeyToken=1cee9f8bde3db106'. Nie można odnaleźć określonego pliku

Poczytałem trochę i i żadne z znalezionych rozwiązań u mnie nie pomaga.
Próbowałem:
-skopiować plik DLL z pakietu Nueget do projetu i odwołać się bezpośrednio do niego
-usunąć folder bin przed kompilacją
-pełen rebuild aplikacji

Sprawdziłem działanie biblioteki nowo utworzonym projekcie .net core i tam wszystko działa jak należy
Ktoś zasugerował mi że może problem stanowi to ,że aplikacja korzysta z wstrzykiwania zależności, choć sam nie bardzo rozumiem jaki to może mieć wpływ na akurat ten błąd. Może ktoś spotkał się z podobnym problemem?

Pozostało 580 znaków

2019-05-20 19:56
0

A nie wymaga ta biblioteka jakichś dziwnych plików konfiguracyjnych w runtime? Ja bym odpalił process monitor i zobaczył jakie próbuje otwierać pliki, a szczególnie te których nie ma.

Stworzyłem nowy projekt żeby wykluczyć problemy z samą biblioteką. W czystej aplikacji konsolowej .net core działa bez najmniejszego problemu. Myślałem też że może biblioteka gryzie się z .net core bo sama nie jest w pełni kompatybilna z .net Frameworkiem i standard ,ale tak jak wyżej , w innym projekcie pod core działa. - benio91 2019-05-20 23:02

Pozostało 580 znaków

2019-05-20 20:58
0

pod debbugerem Ci działa?


Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.

Pozostało 580 znaków

2019-05-20 21:45
0

Nie. Wysypuje się dokładnie w tym samym momencie.
Aktualnie wygląda to tak. Obiekt klasy jest tworzony przez wstrzykiwanie zależności. Tworzy on obiekt innej klasy pomocniczej (już bez wstrzykiwania) gdzie jedna z metod korzysta z wspomnianej biblioteki. Obiekt tworzy normalnie, program wykracza się dopiero wywołania metody zawierającej odwołanie. Nie zdąrzy nawet zachaczyć o breakpointa w pierwszej linijce wywoływane metody.

Pozostało 580 znaków

2019-05-27 13:49
1

A nie masz dwóch referencji do dwóch wersji tej biblioteki? Jeżeli któraś z twoich zależności korzysta z tej biblioteki ale w innej wersji, to czasem takie cuda się dzieją. Jest wtedy stosowany assembly rewrite i jeżeli mają inny public key token to jest zabawa. Tak było w przypadku log4net.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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