アプリケーション構成ファイルに接続文字列を保存する.NETアプリケーションがあります。私は接続文字列を更新し、新しいバージョンを配備しようとしましたが、何を試しても、古い情報をどこかから読んでいるようです。私は、プログラムファイルのフォルダとユーザーの設定を削除しようとしました。古い設定情報はどこから得られますか?私のアプリケーションはどこから古い設定情報を取得していますか?
0
A
答えて
0
私には知らないうちに、Windowsの10はC:\Users\myuser\appdata\local\VirtualStore\Program Files (x86)\My Company\MyProgram\MyProgram.exe.config
で自分のアプリケーションの設定ファイルを格納しました。キーにはVirtualStore
というフォルダがあります。このアプリケーションはしばらく前に書かれていたので、プログラムファイルのアプリケーション設定ファイルに書き込もうとします。 Windows Vistaからはこれ以上はできませんでした。明らかにWindows 10では、Windowsは参考にしようとしていますが、実際には上記のフォルダへの呼び出しを仮想化することで可能になります。
あなたの設定ファイルがファンキーなように見える場合は、上記のフォルダを確認できます。
このテクニックは「ファイルシステム仮想化」と呼ばれ、Windows Vista以降に存在します。その目的は、あまりにも書かれていないプログラムを、自分がしてはいけない場所に書き込もうとしても、仕事を続けさせることです。実際の解決策は、プログラムをユーザプロファイルに書き込むことです。 – Alejandro