-3

VB.NET/ASP.NET アプリから無視したい ELMAH 例外を管理できるカスタム構成セクションを作成しています。これが私のコードです。問題の診断に挑戦する人がいる場合は、空白のコード ファイルに簡単に貼り付けられるようにしました。

Imports System.Configuration
Namespace ElmahExceptionHandling
    Public Class IgnoredExceptionSection : Inherits ConfigurationSection
        <ConfigurationProperty("IgnoredExceptions")>
        ReadOnly Property IgnoredExceptions As IgnoredExceptions
            Get
                Return TryCast(Me("IgnoredExceptions"), IgnoredExceptions)
            End Get
        End Property
        Shared Function GetConfig() As IgnoredExceptionSection

            Return TryCast(System.Configuration.ConfigurationManager.GetSection("IgnoredExceptionSection"), IgnoredExceptionSection)

        End Function
    End Class

    <ConfigurationCollection(GetType(IgnoredException))>
    Public Class IgnoredExceptions : Inherits ConfigurationElementCollection
        Protected Overloads Overrides Function CreateNewElement() As System.Configuration.ConfigurationElement

            Return New IgnoredException

        End Function
        Protected Overrides Function GetElementKey(element As System.Configuration.ConfigurationElement) As Object

            Return TryCast(element, IgnoredException).Message

        End Function
    End Class

    Public Class IgnoredException : Inherits ConfigurationElement
        <ConfigurationProperty("Message")>
        ReadOnly Property Message As String
            Get
                Return Me("Message")
            End Get
        End Property
    End Class
End Namespace

そして、ここに設定があります:

<configSections>
    <section name="IgnoredExceptionSection" type="ElmahExceptionHandling.IgnoredExceptionSection, WEB" />
</configSections>
<IgnoredExceptionSection>
    <IgnoredExceptions>
        <add Message="test exception" />
    </IgnoredExceptions>
</IgnoredExceptionSection>

このコードを実行すると:

Dim section As ElmahExceptionHandling.IgnoredExceptionSection = ConfigurationManager.GetSection("IgnoredExceptionSection")

エラーが発生しますAn error occurred creating the configuration section handler for IgnoredExceptionSection: Could not load file or assembly 'WEB' or one of its dependencies.

私の頭を悩ませているのは、Web ユーティリティを使用して VB.NET からコードを変換した後、C# コンソール テスト アプリでこれがすべて正常に機能することです。ただし、Web アプリから VB コードを VB.NET コンソール テスト アプリに貼り付けても、そこでも機能しないため、C#/VB の問題のようです。ここで何が間違っていますか?

4

1 に答える 1

1

構成ファイルで、型宣言の最後に不要なエントリがあります。この行を変更してみてください:

<configSections>
    <section name="IgnoredExceptionSection"  type="ElmahExceptionHandling.IgnoredExceptionSection, WEB" />
</configSections>

これに

<configSections>
    <section name="IgnoredExceptionSection" type="ElmahExceptionHandling.IgnoredExceptionSection" />
</configSections>
于 2012-05-08T15:32:10.780 に答える