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

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?

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.

0

pod debbugerem Ci działa?

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.

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.

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