Как получить доступ к разделу ApplicationSettings из другой сборки? - PullRequest
5 голосов
/ 29 июня 2009

У меня есть DLL, на которую ссылается родительская (исполняющая) сборка. В разделе ApplicationSettings app.config для родительской сборки у меня есть некоторые настройки, к которым можно получить доступ обычным способом intellisense (например, Properties.Settings.Default.SMTPServer).

Как получить доступ к этим настройкам из указанной библиотеки DLL? Я, очевидно, не могу использовать intellisense, поскольку они не в одной сборке!

Ответы [ 2 ]

0 голосов
/ 29 июня 2009

Вы пытались сохранить файл .settings в своем проекте DLL и затем использовать его оператор [] для доступа к свойству по имени?

Например, допустим, в вашей DLL есть файл MySettings.settings, в котором нет ничего конкретного:

MySettings.Default [ "SomeSetting"];

(Обратите внимание, я на самом деле не пробовал это, но, подумав, кажется, это должно сработать)

Я думаю, что лучшим решением было бы воспользоваться советом Криса и использовать механизм Singleton или IOC, чтобы вам не пришлось жертвовать безопасностью типов.

0 голосов
/ 29 июня 2009

Получаете ли вы доступ к этому значению из обеих сборок?

DLL может иметь собственный конфигурационный файл и настройки приложения. Это начинается как DLL с именем файла конфигурации, но настройки также могут быть перенесены в основное приложение.

Другой подход, который я использовал, - присвоить значение IoC, а затем прочитать значение из Ioc (Ioc == Inversion of Control library). Вы можете сделать то же самое, присвоив значение одноэлементному классу.

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