microsoft / microsoft/node-api-dotnet
Unable to resolve native runtime dlls
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C#
- Sterne
- 783
- Forks
- 80
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
I use EFCore but it always throws DllNotFoundException, even I tried put .deps.json besides the dll I load.
System.DllNotFoundException: Unable to load DLL 'e_sqlite3' or one of its dependencies
The output directory of generator has a runtimes folder. But it seems not able to read the deps config.
Also, call to dotnet.System.Runtime.InteropServices.NativeLibrary.Load(library); cause directly crash, TryLoad will say IntPtr not exported. But if I create a wrapper call these api, it will work as expected.
So currently, I have to expose an API to LoadLibrary in advance. Hope this can provide a way to resolve native libraries like .deps.json does.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginnen Sie mit den gemeldeten Aufrufen von NativeLibrary.Load und NativeLibrary.TryLoad, dem generierten runtimes-Ordner und dem Verhalten von .deps.json im Zusammenhang mit e_sqlite3. Legen Sie fest, wie native Bibliotheken in diesem Prozess aufgelöst werden sollen, und verifizieren Sie, dass das Laden erfolgreich ist, ohne einen separaten LoadLibrary-Wrapper zu erfordern.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- csharp
- Bereich
- backend
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100