Ошибка входа в корпоративную библиотеку 4.1? - PullRequest
0 голосов
/ 11 ноября 2011

Я использую корпоративную библиотеку 4.1. Я получаю сообщение об ошибке компиляции в EnterpriseLibraryContainer. EnterpriseLibraryContainer не работает для версии 4.1?

public LogWriter defaultWriter;

public Logging()
{
    // Resolve the default LogWriter object from the container.
    // The actual concrete type is determined by the configuration settings.
    defaultWriter = EnterpriseLibraryContainer.Current.GetInstance<LogWriter>();
}

[Description("Logging to EverViewer and RollingFile with Write method of a LogWriter")]
public void LogWriter(string message, string title, EventLogEntryType eventType)
{
    // Check if logging is enabled before creating log entries.
    if (defaultWriter.IsLoggingEnabled())
    {
        // Create a string array (or List<>) containing the categories.
        string[] logCategories = new string[] { "General" };

        LogEntry logEntry = new LogEntry();
        logEntry.Message = message;
        logEntry.Categories = logCategories;
        logEntry.Priority = 10;
        logEntry.EventId = 9005;
        logEntry.Severity = ConvertEventType(eventType);
        logEntry.Title = title;
        defaultWriter.Write(logEntry);
    }
}

Ответы [ 2 ]

0 голосов
/ 12 ноября 2011

EnterpriseLibraryContainer был представлен в Enterprise Library 5, поэтому недоступен в Enterprise Library 4.1.

Попробуйте заменить этот код следующим, чтобы получить средство записи по умолчанию:

public Logging()
{
    // Resolve the default LogWriter object from the container.
    // The actual concrete type is determined by the configuration settings.
    defaultWriter = new LogWriterFactory().Create();
}
0 голосов
/ 12 ноября 2011

Вы случайно не настроили таргетинг на профиль клиента .NET 4 вместо полного .NET 4?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...