System::Configuration を使用して、AppData/Local/myapplicationname/ の下にある user.config ファイルを作成および変更する適切な方法を高低で検索してきました。構成マネージャーを使用して、ローカル ユーザー レベルの構成オブジェクトを開きます。user.config ファイルは AppData/Local の下にまだ存在しないため、Configuration::Save() メソッドを呼び出して作成します (MSDN のドキュメントでは、ファイルが存在しない場合、このメソッドによってファイルが作成されると記載されています)。
Configuration^ C = ConfigurationManager::OpenExeConfiguration(ConfigurationUserLevel::PerUserRoamingAndLocal);
MessageBox::Show(C->FilePath); // Shows "rootpath/AppData/Local/myappname/user.config"
MessageBox::Show(C->HasFile.ToString()); // Shows "false" since user.config hasn't been created yet.
C->Save(ConfigurationSaveMode::Full);
何も起こらず、user.config ファイルは作成されず、エラー メッセージも表示されません。代わりに Configuration::SaveAs() を使用すると、次のエラー メッセージが表示されます。
"The file name 'rootpath\AppData\Local\myappname\user.config' is invalid because the same file name is already referenced by the configuration hierarchy you have opened."
ここで何が間違っていますか?app.config 以外に System::Configuration を使用する方法に関する MSDN の説明がないことに非常に腹を立てています。設定はユーザーレベルであり、ユーザーがいつでも変更できるため、app.config を使用したくありません。必要に応じて app.config を使用しますが、UAC のためにそれを行うことさえできません。どんな助けでも大歓迎です。皆さんありがとう!