C# Fehler bei Process.Start – PDF-Datei kann nicht geöffnet werden

Veröffentlicht von

Problem beim Öffnen von Dateien mit Process.Start.

In einem neuen C# Projekt mit .NET Core hatte ich beim Öffnen einer PDF-Datei eine unschöne Exception, beim Aufruf mit Procress.Start:

Die Exception lautete wie folgt:

System.ComponentModel.Win32Exception: 'An error occurred trying to start process
The specified executable is not a valid application for this OS platform.'

Die Lösung war dem ProcressStartInfo-Objekt noch die Eigenschaft „UseShellExecute“ auf true zu setzen:

startInfo.UseShellExecute = true;

Anschließend lief es und die PDF-Datei wurde mit dem verknüpften Programm geöffnet.

4 Kommentare

  1. Made my day!! Das ist die Lösung (generiere eine PDF-Datei in .NET MAUI auf macOS, und mit diesem Code Snippet kann ich die PDF-Datei dann direkt im Adobe Reader öffnen) – vielen Dank! 😀

  2. Vielen Dank für den Tipp.

    Dadurch inspiriert, habe ich mal nachgeforscht, wie dieses Verhalten zu erklären ist. Resultat:

    im .Net Framework war der Standard für UseShellExecute true,
    unter .NetCore ist er false – warum auch immer.

    Überschreibt man den Wert mit ‚true‘, funktioniert es wieder wie bisher unter .Net Framework gewohnt.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert