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.

5 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.

  3. Danke, danke! Ich habe schon einiges ausprobiert und sogar Microsoft Edge als default Viewer für PDFs definiert :)) Gut, dass in der Google Suche Dein Tipp auf dem fünften Platz war.

    Liebe Grüsse

Kommentar hinterlassen

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