Скопировал код отсюда: https://www.c-sharpcorner.com/article/logging-block-in-microsoft-enterprise-library-6-0/
public class LoggerBlock
{
protected LogWriter logWriter;
public LoggerBlock()
{
InitLogging();
}
private void InitLogging()
{
logWriter = new LogWriterFactory().Create();
Logger.SetLogWriter(logWriter, false);
}
public LogWriter LogWriter
{
get
{
return logWriter;
}
}
}
Ошибка компиляции:
Microsoft.Practies.EnterpriseLibrary.Logging.Logger does not contain a definition for 'SetLogWriter"
Извините, я даже не знаю, какая версия библиотеки у меня установлена. Я пытаюсь добавить некоторые операторы ведения журнала в существующую программу, в которой, похоже, app.config настроен для ведения журнала корпоративной библиотеки.
Intellisense предоставляет только следующий аналогичный метод:
Logger.SetContextItemLog (object key, object value)





Я предполагаю, что вы используете более старую версию, в которой нет метода Logger.SetLogWriter(). Я только что установил последнюю версию, и код, который вы вставили, работает нормально. Можете ли вы обновить версию, которую вы используете?
Редактировать: похоже, что метод Logger.SetLogWriter() просто устанавливает Logger по умолчанию для использования LogWriter, который вы только что создали. Как насчет использования созданного LogWriter напрямую вместо стандартного Logger?
var logWriter = new LogWriterFactory().Create();
logWriter.Write("Message");
Следующая статья также может дать вам дополнительную информацию. Создание и запись записей журнала
Я также пытался использовать Logger.Write() без вышеуказанного, но получил ошибку сборки Jenkins CS0234: имя типа или пространства имен «EnterpriseLibrary» не существует в пространстве имен «Microsoft.Practices» (вам не хватает ссылки на сборку?)/ / используя Microsoft.Practices.EnterpriseLibrary.Logging; Он основан на Jenkins, и я не уверен, какие библиотеки у них есть и поддерживаются в их общих каталогах.
Можете ли вы получить версию EnterpriseLibrary.Logging, которую вы используете? Возможно, удастся найти документацию о том, как использовать эту версию.
Документация здесь выглядит довольно старой. Это может дать вам некоторые подсказки. docs.microsoft.com/en-us/previous-versions/msp-n-p/…
Я добавил к своему ответу. Посмотрите, поможет ли это.
Спасибо, я вижу документ, но у меня нет LogWriter, как упоминалось в моем вопросе. Я удивлен, что Microsoft не помещает номер версии в имя файла DLL, поэтому я не знаю, какая это версия, не тряся в компании, или, может быть, используя дизассемблер.
Я не уверен, как бы у вас не было LogWriter, если бы logWriter = new LogWriterFactory().Create(); не выдавало ошибку, а следующая строка выдавала. Вы видели мое редактирование моего ответа и ссылку «Создание и запись записей журнала»?
Именно метода SetLogWriter там не было.
Давайте продолжить обсуждение в чате.
Это общий код, и я не знаю, каковы все процедуры компании; также последний день завтра; так что не будет заниматься этим.