キオスクの目的でシェルとしてWindowsエクスプローラーを置き換えるアプリケーションを作成しました。アプリケーションは2つの構成ファイルを維持します。1つはアプリケーション目的で使用および維持されるもの(app.config)で、もう1つは別のディレクトリに保存されるため、GUIがリポジトリから更新しようとしたときに上書きされません。
アプリケーションを通常の環境で実行すると、完全に機能します。ただし、起動時やユーザーの切り替え時に使用すると、アプリケーションが他のディレクトリの情報を読み込めないように見えます。
マネージャークラスから
Private Shared rootCP As String
Friend Shared Sub loadConfig()
Dim dir As New IO.DirectoryInfo(Environment.CurrentDirectory)
Try
Dim objReader As New System.IO.StreamReader(dir.Parent.FullName & "\local.config")
rootCP = objReader.ReadToEnd
objReader.Close()
Catch Ex As Exception
'DEBUG: console.write(ex.message)
End Try
dir = Nothing
End Sub
MainForm_Loadサブから
Manager.loadConfig()
別の関数は後でrootCP文字列からデータを取得しようとしますが、システムの起動後にアプリケーションが起動された場合にのみデータにアクセスできます。何か考えはありますか(VB.NETまたはC#で問題ありません)?