Mam bibliotekę składającą się z dwóch części - jednego zestawu .net, który P/Invokes do rodzimej dll 3rd party. W trybie pulpitu działa to dobrze: jednak, odwołując się do złożenia z aplikacji w stylu Metro i uruchamiając ją, rzuca ona System.DllNotFoundException
na P/Invoke narzekając, że "Nie można załadować biblioteki DLL": Nie można znaleźć określonego modułu. "Jak P/Invoke do rodzimej biblioteki dll z Metro?
Natywna biblioteka dll nie robi nic specjalnego, ale tworzy tylko wychodzące połączenia TCP/IP z serwerem System nie może tego wiedzieć, ale natywna biblioteka dll może zrobić wszystko. Dlatego podejrzewam, że nie można tego zrobić.
Niektóre zamówienia wyszukiwania dll są wymienione na msdn dotyczące aplikacji stylu Metro, podpowiadając, że można załadować biblioteki dll natywne?
Również znalazłem ten link on msdn mówisz loading „bibliotek” i wymienia PackageDependency w pliku manifestu, ale dla mnie to wciąż niejasna jak dodać dll rodzimych na opakowaniu w taki sposób, że możliwe jest P/Invoke to.
Czy możesz spróbować skomentować elementy TCP/IP w bibliotece DLL i ponownie testować? To rozróżni, że nie znajdziemy DLLa, a nie findind jego zależności. Czy sprawdziłeś także możliwości, które chcesz wykorzystać do wychodzących połączeń internetowych? –
Nie zbudowałem biblioteki dll. To nie jest część rozwiązania. Więc nie mogę zmienić sposobu, w jaki biblioteka DLL została zbudowana. Dobrze, że może to być jakaś wtórna zależność powodująca błąd! Sprawdzę to jak najszybciej. – vidstige
@vidstige Prawdopodobnie rozwiązałeś już ten problem, ale poza tym zapoznaj się z [moją odpowiedzią] (http://stackoverflow.com/a/12122750/650012) na powiązane pytanie. –