2017-02-14 34 views
1

構建了一個控制檯應用程序,用於嘗試使用.NET Core在Windows中打開圖像。保持一個錯誤。通過.NET核心中的默認查看器打開圖像

Process.Start(new ProcessStartInfo(tempFile)); 

結果:

Win32Exception:指定的可執行文件是不是這個操作系統平臺的有效應用 。

我需要做些什麼才能使其在Windows默認查看器中打開,在我的情況下,Windows照片查看器?目前,我已經採取了顯示完整圖像路徑來複制粘貼。

它適用於如果我使用.NET 4.6.2,但不是.NetCoreApp 1.1。我知道它與使它跨平臺友好(?)有關,但是什麼...

謝謝!

回答

1

是可以避免這種情況的工作不同的是,ProcessStartInfo.UseShellExecute默認爲false基於.NET的核心,並且不能在Windows控制。因此,該程序試圖將圖像文件作爲可執行文件啓動,這是不可能的。相反,您可以使用Process.Start來模擬shell命令,以便使用系統的默認查看器打開該文件。

Process.Start("cmd", $"/c {pathToFile}"); 

同樣,xdg-open可以在Linux(一般來說)被使用,並且可以open在OSX上使用。

+0

工作!我看到「/ c」開關基本上是「執行由字符串指定的命令,然後終止」。 –

相關問題