У меня есть библиотека, состоящая из двух частей: одна сборка .net, которая P/вызывает родную стороннюю dll. В настольном режиме это работает просто отлично: однако при ссылке на сборку из приложения в стиле Metro и ее запуске выдается System.DllNotFoundException на P/Invoke жалуется на то, что "Невозможно загрузить библиотеку DLL: указанный модуль не найден".
Собственная dll не делает ничего особенного, а только создает исходящие соединения TCP/IP с сервером. Система не может этого знать, а родная dll может делать что угодно. Вот почему я подозреваю, что это невозможно сделать.
Некоторый порядок поиска dll упоминается в msdn в отношении приложений в стиле Metro, намекая на то, что можно загружать собственные DLL?
Также я нашел эту ссылку на msdn говорит о загрузке "библиотек" и упоминает PackageDependency в файле манифеста, но мне все еще неясно, как добавить в пакет нативную dll так, чтобы ее можно было P/Invoke его.