app.configファイルにすべての構成を含むlog4netを使用するWCFスタンドアロンサービスがあり、サービスの最初の実行時に構成ファイルを暗号化しています。現在、これをコンソールアプリとして実行するように設定していますが、起動すると、暗号化された構成ファイルが保存された直後に、サービスが出力されます。
log4net:ERROR XmlHierarchyConfigurator:[log4net.Repository.Hierarchy.Hierarchy]にオブジェクトを設定するためのプロパティ[EncryptedData]が見つかりません
新しく暗号化された構成ファイルのlog4netセクションにEncryptedDataセクションがあるため、混乱します。
私は以下を使用して設定ファイルセクションを暗号化しています:
section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
私のlog4net構成ファイルセクションは次のようになります(前):
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" restartOnExternalChanges="false" />
</configSections>
<log4net>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<root>
<appender-ref ref="ConsoleAppender" />
</root>
</log4net>
以降:
<log4net configProtectionProvider="DataProtectionConfigurationProvider">
<EncryptedData>
<CipherData>
<CipherValue>AQAAANCMnd8BFdERjHoAw <etc> </CipherValue>
</CipherData>
</EncryptedData>
</log4net>
Log4netは引き続き暗号化された構成で動作します(編集:デバッグ中です。サービスとしてリリースで実行すると(ただし、アクセス許可は開かれます)、ログに記録されません)
だから、誰かがこのエラーが何であるか、そしてそれがスローされないように私のコードを修正する方法を教えてもらえますか?