3
EntLib 5 Logging Application Blockを簡略化するロギングDLLを構築しています。私はConfigurationSourceBuilder
を使って私のアプリケーションのロギングを設定しています。私は現在これを持っています:Fluent ConfigurationSourceBuilderが原因でInvalidOperationExceptionが発生する
var configBuilder = new ConfigurationSourceBuilder();
configBuilder.ConfigureLogging().WithOptions
.DoNotRevertImpersonation()
.LogToCategoryNamed("EventLog")
.WithOptions.SetAsDefaultCategory()
.SendTo.EventLog("Event Log Listener")
.FormatWithSharedFormatter("Text Formatter")
.ToLog("Application")
.LogToCategoryNamed("Email")
.SendTo.Email("Email Trace Listener")
.To(ToEmail)
.From(fromEmail)
.WithSubjectStart("Error:")
.UsingSmtpServer(SmtpServer)
.UsingSmtpServerPort(SmtpServerPort)
.Unauthenticated()
.FormatWithSharedFormatter("Text Formatter")
.LogToCategoryNamed("LogFile")
.SendTo.FlatFile("Flat File Trace Listener")
.ToFile(logFileName)
.WithHeader("------------------------------")
.WithFooter("------------------------------")
.FormatWithSharedFormatter("Text Formatter");
var configSource = new DictionaryConfigurationSource();
configBuilder.UpdateConfigurationWithReplace(configSource);
EnterpriseLibraryContainer.Current =
EnterpriseLibraryContainer.CreateDefaultContainer(configSource);
プログラムはビルドされ、私はメインのアプリケーションでそれを参照します。 IoCのよう
InvalidOperationException - The current type,
Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.ILogFormatter,
is an interface and cannot be constructed. Are you missing a type mapping?
ただ、この問題場合には、メインアプリケーションが使用しているユニティ:それは、このエラーを吹く構成を設定するために行くとき。 UnityでDLLを解決する必要はありますか?
うわーとても簡単!多くのTuzoありがとう –