Jak tak zajrzałem do tej biblioteki, to jest w niej konstruktor public CustomConfigFileReader(bool bIsManaged = false)
, który wywołuje GetProcessAndEnvInfo()
, która robi trochę dziwnych rzeczy:
Kopiuj
[SecurityPermission(SecurityAction.Assert, UnmanagedCode=true)]
private static void GetProcessAndEnvInfo()
{
ConfigBaseClass.CurrentProcess = Process.GetCurrentProcess();
ConfigBaseClass.m_recoveryServiceHost = Environment.MachineName;
if (string.Compare(ConfigBaseClass.CurrentProcess.ProcessName, "DOTNET", true) != 0)
{
ConfigBaseClass.ApplicationName = ConfigBaseClass.CurrentProcess.ProcessName;
ConfigBaseClass.CoreRunTimeExt = "exe";
return;
}
ConfigBaseClass.ApplicationName = Assembly.GetEntryAssembly().GetName().Name;
ConfigBaseClass.CoreRunTimeExt = "dll";
}
Biblioteka nie wykorzystuje tego potem do niczego super istotnego - głównie do nazywania różnych rzeczy, albo znalezienia ścieżki zapisu pliku śledzenia - a przynajmniej tak by wynikało z mojego pobieżnego przeszukania.
Tutaj najpewniej jest rzucany ten wyjątek, bo UWP nie pozwala na robienie takich rzeczy jak dostęp do Process.GetCurrentProcess()
.
Potencjalnie mógłbyś:
- zdekompilować tę bibliotekę i spróbować to naprawić ręcznie;
- zapytać Oracle?;
- możesz pomyśleć o skorzystaniu z komunikacji z zewnętrznym procesem i on zajmie się komunikacją z bazą danych, a twoja aplikacja będzie to tylko wyświetlać: https://stefanwick.com/2018/04/06/uwp-with-desktop-extension-part-1/;
- napisać zewnętrzne API i to ono się będzie komunikować z bazą.
Wrzucenie takiej aplikacji do Store jest nieco bardziej uciążliwe, ale się da. Nie wiem czy zadziała na HoloLens, na pewno nie zadziała na Xbox, nie wiem jak będzie działać na WoA (Windows on ARM).