Невозможно получить доступ к AppSettings из App.Config в проекте библиотеки классов - PullRequest
1 голос
/ 01 марта 2012

Я пытаюсь получить доступ к appSettings, используя следующий синтаксис, и я использовал его раньше во многих моих проектах веб-сайтов, но не в проекте библиотеки классов.В этом проекте библиотеки классов я даже не могу получить доступ к Ключам AppSettings.Есть ли способ получить доступ к ключу AppSettings из моего класса?Является ли app.config или библиотека проекта проекта библиотеки классов по-другому?Когда я запускаю свой код, он говорит: «Объект не установлен как экземпляр какого-либо объекта».

Ответы [ 2 ]

5 голосов
/ 01 марта 2012

Библиотека работает в контексте приложения, а не сама по себе.

Вам необходимо поместить конфигурацию в файл .config приложения, которое будет использовать библиотеку.

Итак, если ваша библиотека lib.dll, а приложение myApp.exe, вы должны использовать .config файл myApp.exe.config.

В качестве альтернативы для использования файла .config, рассмотрите возможность передачи вконфигурация как зависимость от типов вашей библиотеки.


В вашем коде есть конкретная ошибка, когда вы пытаетесь вызвать ключ Scripts, где в вашей конфигурации есть ключ scriptsfolder.

1 голос
/ 01 марта 2012

У меня была та же проблема, и, как сказал нам Одед, библиотека работала в контексте приложения, однако я не смог ее решить. В конце концов я использовал этот код:

Dim config As Configuration = ConfigurationManager.OpenExeConfiguration(Application.ExecutablePath);
Dim k as KeyValueConfigurationElement = config.AppSettings.Settings
("SVCInstalled")
 If k <> Nothing Then
 If k.Value <> Nothing Then
 ' Process your data next

Заметьте, я на лету перевожу с C #, так что извините, если что-то не так

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