Bootstrap LibreOffice с. NET Ядро выбрасывает исключение - PullRequest
1 голос
/ 10 февраля 2020

Я успешно использовал этот код в Net Framework 4.x:

        var unoPath = @"C:\Program Files\LibreOffice 5\program";
        Environment.SetEnvironmentVariable("PATH", Environment.GetEnvironmentVariable("PATH") + @";" + unoPath, EnvironmentVariableTarget.Process);
        var context = uno.util.Bootstrap.bootstrap();

Сейчас я работаю над проектом net core (v 3.1), который также должен использовать LibreOffice , но я получаю исключение:

System.InvalidOperationException: дескриптор не инициализирован. в System.Runtime.InteropServices.GCHandle.FromIntPtr (значение IntPtr) в uno.util.to_cli (ссылка * x) в uno.util. Bootstrap. bootstrap ()

Если я добавьте UNO_PATH, как предложено здесь

Environment.SetEnvironmentVariable("UNO_PATH", unoPath, EnvironmentVariableTarget.Process);

, затем я получу еще одно исключение:

System.Runtime.InteropServices.SEHException (0x80004005): внешний компонент выдан исключение. в cppu. bootstrap (ссылка *) в uno.util. Bootstrap. bootstrap ()

Майкл Шталь (LibreOffice) предложил проблему моста CLIuno с ядром net.

Я использую LibreOffice 6.4.0.3 и ту же версию SDK, NET Core 3.1, Windows 10 64 бит.

Кто-нибудь успешно загрузил LibreOffice с Net Core?

...