最近開発環境が壊れてきたのか、色々問題がでてきました。買い換えるか初期化して環境を構築し直すか検討している最中の話。
Problem
Windows10だとクラッシュすることなく動くのに、Windows7だと動かない。
でも、VisualStudioからデバッグ起動するとWindows7でも動くという不思議な問題。
例外として下記のメッセージをスローしていました。
1 | System.Windows.Markup.XamlParseException: 'System.Windows.Window' のタイプ初期化子が例外をスローしました。 ---> System.TypeInitializationException: 'System.Windows.FrameworkElement' のタイプ初期化子が例外をスローしました。 ---> System.TypeInitializationException: 'System.Windows.Documents.TextElement' のタイプ初期化子が例外をスローしました。 ---> System.TypeInitializationException: 'MS.Internal.FontCache.Util' のタイプ初期化子が例外をスローしました。 ---> System.UriFormatException: 無効な URI: URI の形式を決定できませんでした。 |
Resolution
FontCacheという単語が怪しいのでこれをキーにして検索しました。
そしたら見つかったのが下記のページ。
WPF window throws TypeInitializationException at start up UriFormatException thrown by MS.Internal.FontCache.Util
要するに、環境変数windirがないんじゃね?というもの
事実、環境変数がなくなっていました。/(^o^)\ナンテコッタイ
というか、環境変数PATHが異常に短い。そういえば、最近setxコマンド使用直後、setxコマンドが使えなくなる現象があったが、これが原因か。
色々調べると環境変数PATHが長すぎるのでは?という話がちらほら。
何かの拍子に、環境変数全体がカットされたのが原因なのだろう。
再起動したら直った。
うーん。
Conclusion
原因は判明しました。が、その原因を引き起こすトリガーが不明。
もう少し状況を注視します。