У меня есть общая библиотека классов, которая используется веб-приложением asp.net и консольным приложением.
В файле web.config моего веб-приложения в разделе configSections есть группа sectionGroup,и затем соответствующие настройки.
<configSections>
<sectionGroup name="StockLocator">
<section name="AppSettings" type="StockLocator.ConfigSettings.AppConfig, StockLocator"/>
</sectionGroup>
</configSections>
<StockLocator>
<AppSettings>
<Settings...... />
</AppSettings>
</StockLocator>
Все работает, когда я читаю эти настройки в веб-приложении.Однако, когда я добавляю это в файл App.config моего консольного приложения, он не может прочитать эти настройки.Обычно, когда я пытаюсь что-то прочитать из файла App.config, я просто получаю сообщение об ошибке "Object reference not set to an instance of an object."
Не очень полезно.
Кажется, что этот раздел просто не читается изфайл app.config, который заставляет меня думать, что вы не можете добавить configSections
в файл app.config?Или есть другой способ отладки, чтобы получить лучшее сообщение об ошибке?
Я читаю из configSections, используя код
<Serializable()> _
Public Class AppConfig
Inherits ConfigurationSection
''' <summary>
''' Initialises and gets AppConfig SiteSettings
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function getConfig() As AppConfig
Return CType(ConfigurationManager.GetSection("StockLocator/AppSettings"), AppConfig)
End Function
<ConfigurationProperty("Settings")> _
Public Property Settings() As SettingsElement
Get
Return CType(Me("Settings"), SettingsElement)
End Get
Set(ByVal value As SettingsElement)
Me("Settings") = value
End Set
End Property
Public Class SettingsElement
Inherits ConfigurationElement
<ConfigurationProperty("SqlConnName")> _
Public Property SqlConnName() As String
Get
Return CType(Me("SqlConnName"), String)
End Get
Set(ByVal value As String)
Me("SqlConnName") = value
End Set
End Property
End Class
End Class
Stack Trace:
в StockLocator.Model.StockLocatorService.MatchStock (магазин StockLocator_Store) в C: \ projects \ StockLocator \ StockLocator \ Model \ StockLocator.vb: строка 421