次のコードを含む C# アプリケーションがあります。
string file = "relativePath.txt";
//Time elapses...
string contents = File.ReadAllText(file);
ほとんどの場合、これで問題なく動作します。ファイルは、アプリが開始されたディレクトリに対して相対的に読み取られます。ただし、テストでは、約 5 時間放置すると、アプリがFileNotFoundException
「C:\Documents and Settings\Adminstrator\relativePath.txt」が見つからないというメッセージをスローすることがわかっています。ただし、ファイルを読み取るアクションがすぐに実行される場合、ファイルは適切な場所から読み取られます。これを「C:\foo\relativePath.txt」と呼びます。
何を与える?そして、最良の修正は何ですか?に対してファイルを解決していますAssembly.GetEntryAssembly().Location
か?