通过.NET Core中的默认查看器打开图像

时间:2017-02-14 16:38:23

标签: .net-core

构建一个控制台应用程序,尝试使用.NET Core在Windows中打开图像。保持错误。

'München'

结果:

  

Win32Exception:指定的可执行文件不是有效的应用程序   对于这个OS平台。

在Windows中打开它需要做什么?默认查看器,在我的情况下,Windows照片查看器?目前,我已经使用完整的图像路径进行复制粘贴。

如果我使用的是.NET 4.6.2,而不是.NetCoreApp 1.1。我知道它与使其跨平台友好(?)有关,但是......

谢谢!

1 个答案:

答案 0 :(得分:1)

阻止此操作的区别在于ProcessStartInfo.UseShellExecute在.NET Core上默认为false,并且无法在Windows上进行控制。因此,程序试图将图像文件作为可执行文件启动,这是不可能的。相反,您实际上可以使用Process.Start来模拟shell命令,以便使用系统的默认查看器打开文件。

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

同样,xdg-open可以在Linux上使用(一般来说),open可以在OSX上使用。