.NET控制台应用程序configSections

时间:2011-08-30 13:17:28

标签: .net vb.net console-application configsection

我有一个共享类库,由asp.net Web应用程序和控制台应用程序使用。

在我的网络应用程序的web.config中,我在configSections中声明了一个sectionGroup,然后是匹配的设置。

<configSections>
    <sectionGroup name="StockLocator">
          <section name="AppSettings" type="StockLocator.ConfigSettings.AppConfig, StockLocator"/>
    </sectionGroup>
</configSections>

<StockLocator>
    <AppSettings>
        <Settings...... />
    </AppSettings>
</StockLocator>

当我在Web应用程序中阅读这些设置时,一切正常。但是,当我将其添加到我的控制台应用程序的App.config时,它无法读取这些设置。基本上每当我尝试从App.config文件中读取任何内容时,我都会收到错误"Object reference not set to an instance of an object."

不是很有帮助。

好像这部分没有从app.config文件中读取,这让我觉得你不能将configSections添加到a​​pp.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

堆栈追踪:

  

在C:\ projects \ StockLocator \ StockLocator \ Model \ StockLocator.vb中的StockLocator.Model.StockLocatorService.MatchStock(StockLocator_Store商店):第421行

1 个答案:

答案 0 :(得分:2)

如果您的App.config中有其他appSettings,则其相对顺序很重要。 configSections部分应该在appSettings之前。更多关于this msdn thread