背景情報
VS2010 を使用して C# で Winforms アプリケーションを維持しています。メイン フォームには、いくつかのタブを持つ TabControl があります。スタートアップ オブジェクトは、メイン フォームを起動するだけの Main 関数 (ここでは新しいものはありません) を持つクラスです。このフォームは、静的設定クラスから DB サーバーへの接続文字列を取得する Datastore オブジェクトを作成します。このクラスには静的初期化ブロックがあります。
static Settings()
{
IniReader reader = new IniReader("config.ini");
//...
}
構成ファイルは、メイン プロジェクト フォルダー (スタートアップ オブジェクトと同じ) (および bin フォルダーと debug フォルダー) にあります。
問題
ソリューション エクスプローラーで、メイン フォームをダブルクリックしてデザイナーで開くと、VS がクラッシュし、この質問のタイトルに記載されている例外が発生しますが、config.ini ファイルが " C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE". この問題は、構成ファイルをその場所にコピーすることで解決できますが、これが実際の解決策であるとは思いません。 VS がその場所でファイルを検索するのはなぜですか? 奇妙なことに、前回ソリューションを開いたときには、この問題は発生していませんでした。それ以来、新しい Windows 更新プログラムをインストールしていません。
述べる
アプリケーションのアーキテクチャやその他の設計上の決定は、私のものではありません。私はプログラムを拡張しているだけで、これを行っている間、アーキテクチャを改善しようとしています。しかし、それはこの質問の主題ではありません。