«Не удалось инициализировать систему конфигурации» при получении значений из Settings.settings - PullRequest
2 голосов
/ 06 апреля 2011

Слишком сильно разочарован этой проблемой ...: - (

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 у меня есть несколько строк в области приложения и один URL-адрес WebService в области пользователя. Он нужен мне в качестве области действия пользователя, поскольку значение URL-адресаможет измениться во время выполнения.

РЕДАКТИРОВАТЬ : я только что создал тестовое приложение, которое просто вызывает MessageBox с одним строковым значением области приложения и одним строковым значением области пользователя. Это работает без необходимостисохранение настроек Settings.Default.Save(), а также некоторые другие "дополнительные" действия ... это сводит меня с ума: (

Любая помощь будет очень цениться.

Ответы [ 2 ]

0 голосов
/ 16 сентября 2013

Я знаю, что это на два года позже, но эй, это для googlers.

У меня был такой же текст ошибки для другой проблемы после изменения пространств имен, когда я использовал файлы ресурсов и настройки встроенного приложения вC #, нацеленный на .NET 4.0, с Visual Studio 2010 в Windows 7.

По существу, пространство имен было испорчено, а файл конфигурации не соответствовал.Я закончил тем же текстом ошибки.

1) Убедитесь в Resources.Designer.cs, что строка, которая устанавливает ваш Resource 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(); Вероятно, не повредит просто позвонить сохранить в форме init.

0 голосов
/ 06 апреля 2011

На вашем другом компьютере, если вы видите файл с именем YourApplicationName.vshost.exe и YourApplicationName.vshost.exe.config удалите их и посмотрите, сохраняется ли ошибка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...