构建一个控制台应用程序,尝试使用.NET Core在Windows中打开图像。保持错误。
'München'
结果:
Win32Exception:指定的可执行文件不是有效的应用程序 对于这个OS平台。
在Windows中打开它需要做什么?默认查看器,在我的情况下,Windows照片查看器?目前,我已经使用完整的图像路径进行复制粘贴。
如果我使用的是.NET 4.6.2,而不是.NetCoreApp 1.1。我知道它与使其跨平台友好(?)有关,但是......
谢谢!
答案 0 :(得分:1)
阻止此操作的区别在于ProcessStartInfo.UseShellExecute
在.NET Core上默认为false
,并且无法在Windows上进行控制。因此,程序试图将图像文件作为可执行文件启动,这是不可能的。相反,您实际上可以使用Process.Start
来模拟shell命令,以便使用系统的默认查看器打开文件。
Process.Start("cmd", $"/c {pathToFile}");
同样,xdg-open
可以在Linux上使用(一般来说),open
可以在OSX上使用。