問題 §
System.Diagnostics.Process.Start(path);で、パスがテキストファイルの時、.NET F/Wだと関連付けされたテキストエディタで開くが、.NET Core 2.0だと例外で落ちる。
解決 §
System.Diagnostics.Process.Start(path,args);の形式を使い、第1引数には実行ファイルを指定する。テキストファイルのパスは第2引数に設定する。(関連付けの設定に従ってアプリを起動するという機能性は実現できない)
原因 §
不明 (ファイルの関連付けという概念が存在しないOSでも動作させようと思うなら、同じことはできないのだろう……とは推測できる)
感想 §
「.NET Coreはいろいろな点で機能的に見劣りすると思っていたが、ここもそうだな」
「対応OSのミニマムセットにしか作れないわけだね」
「まあ、対応プラットフォームを増やそうとして機能が減ったJ●v●という悪夢の前例はあるから驚かないがな」
「LinuxやMacでも動くから嬉しい!……は、もし動いたらの話……ということだね」
「そうだな。機能が足りないから.NET Coreに移行できません……ということなら、そもそも動かないわけだ」
「で、そもそも.NET Coreの評価はどうなんだい?」
「そこを現在検証中だ。部分的に……ではあるがな」
「検証作業中に、偶然こういう問題に気付いてしまったわけだね」
「そうそう。.NET F/W用のコードを丸ごと持ち込んで比較のために.NET Coreで動作させようとしたら例外が起きて発覚した」