2

この問題にイライラしすぎて... :-(

Winforms、C# 2.0、VS 2010

開発中は、Settings.setting ファイルの設定値にアクセスしようとします。例えば:

string foo = MyProject.Properties.Settings.Default.InstallerLogFile_Path

期待どおり、動作します。

しかし、他のマシンで .exe ファイルを展開しているときに、Configuration system failed to initialize例外が発生します。内部例外は言う: Could not find a part of the path C:\Documents and Settings\...\user.config.

私の Settings.settings ファイルには、アプリケーション スコープの文字列がいくつかあり、ユーザー スコープの WebService URL が 1 つあります。URL 値は実行時に変更される可能性があるため、ユーザー スコープとして必要です。

EDIT : 1 つのアプリケーション スコープの文字列値と 1 つのユーザー スコープの文字列値を持つ MessageBox を単純に発生させるテスト アプリケーションを作成しました。設定を保存する必要Settings.Default.Save()も、その他の「余分な」アクションも必要ありません...これは私を夢中にさせます:(

どんな助けでも大歓迎です。

4

2 に答える 2

0

他のマシンでYourApplicationName.vshost.exeおよびYourApplicationName.vshost.exe.configというファイルが表示された場合は、それらを削除して、エラーが引き続き発生するかどうかを確認してください。

于 2011-04-06T19:05:03.617 に答える
0

これが 2 年遅れていることは承知していますが、Google 社員向けです。

Windows 7 上の Visual Studio 2010 で、.NET 4.0 を対象として C# でリソース ファイルと組み込みアプリケーション設定を使用していたときに、名前空間を変更した後、別の問題に対して同じエラー テキストが表示されました。

基本的に、名前空間がめちゃくちゃで、構成ファイルが一致しませんでした。私は同じエラーテキストで終わった。

1) Resources.Designer.csResource Manager を設定する行が正しいことを確認します。例:global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("YOUR_NAMESPACE_NAME.Properties.Resources", typeof(Resources).Assembly);使用していた名前空間が台無しになりました。引用符の間のテキストが正確であることを確認してください。

2)user.configファイルを削除します。必ずしもプロジェクトに配置されているわけではありません。私はで私のものを見つけましたC:/users/myusername/AppData/Local/CompanyName/Project_name_with_a_random_string/1.0.0.0/user.config

それは私の問題でうまくいきました。あなたの場合は、上記の 2) で示したフォルダーを参照することをお勧めします。そこにがない場合はuser.config、アプリケーションに強制的に作成させる必要があります。これは、私が呼び出したときに起こりますProperties.Settings.Default.Save();おそらく、フォームの初期化で保存を呼び出すだけで問題はありません。

于 2013-09-16T14:47:03.837 に答える