ヨーロッパ全体で使用するためにローカライズされたアプリケーションがあります。
ディスクからファイルをロードするメニュー オプションがあります。
この操作は私の開発マシンでは問題なく動作しますが、フランス語やスペイン語など、他のオペレーティング システムのテストに使用する仮想マシンでは動作しません。
StreamReader がファイルを開こうとすると、FileNotFoundException が生成されます。
「ファイル C:\Program Files\MyCompany\MyTool\bin\Files\debug.txt が見つかりませんでした」と表示されます。
問題は、ファイルが正しい場所に正しいファイル名で存在することです。
ターゲット (フランス語) オペレーティング システムのディレクトリ名は、開発マシンと同じです。
何か案は?
string ourPath = System.IO.Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);
try
{
System.IO.StreamReader sr = System.IO.File.OpenText(ourPath + @"\bin\Files\debug.txt");
string input = null;
while ((input = sr.ReadLine()) != null)
{
m_text.Append(input);
}
sr.Close();
}
catch (System.IO.FileNotFoundException)
{
MessageBox.Show("LoadDebugOptions: File Not Found: " + ex.Message);
}