App.config для dll

5 ответов

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

7
ответ дан 3 December 2019 в 08:57
поделиться

Забавный, где я в, мы делаем что-то очень похожее, и файл конфигурации загружается очень хорошо. В нашем случае я думаю соответствия имени каждого нового файла конфигурации тот из, его связал блок. Таким образом, MyLibrary.dll имел бы файл по имени MyLibrary.dll.config с информацией для того блока файла. Кроме того, пример, который я имею удобный, использует VB.Net, а не C# (у нас есть часть каждого), и все настройки там - для VB-specific Мой. Пространство имен настроек, таким образом, мы не используем класс ConfigurationManager непосредственно для чтения их.

Сами настройки похожи на это:

<applicationSettings>
    <MyLibrary.My.MySettings>
        <setting name="SomeSetting" serializeAs="String">
            <value>12345</value>
        </setting>
    </MyLibrary.My.MySettings>
</applicationSettings>
4
ответ дан 3 December 2019 в 08:57
поделиться

Я записал это для аналогичной системы. Мое воспоминание - то, что я использовал Assembly.GetExecutingAssembly получить путь к файлу к DLL, добавленному .config к тому имени, загруженному это как XmlDocument, перемещенный к <appSettings> узел и передал это a NameValueSectionHandler Create метод.

1
ответ дан 3 December 2019 в 08:57
поделиться

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

0
ответ дан 3 December 2019 в 08:57
поделиться

Я не полностью уверен, но я думаю, что класс только работает с путем метода ввода AppDomain (путь exe большую часть времени) по умолчанию. Необходимо звонить, OpenExeConfiguration (представьте exePath в виде строки) (Платформа 2.0 и позже) сначала для указания на другой файл конфигурации.

0
ответ дан 3 December 2019 в 08:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: