Как устранить ошибку при использовании Nlog с Costura Fody - PullRequest
2 голосов
/ 29 марта 2019

Я использую Nlog и недавно решил использовать Fody / Costura для встраивания моих DLL в конечный исполняемый файл.Я заметил, что при запуске и создании Logger с использованием приведенного ниже рекомендуемого объявления экземпляра я получаю исключение при вызове GetCurrentClassLogger (см. Исключение ниже).Если я удалю Costura / Fody, исключение исчезнет.Nlog использует ошибку, но каждый раз, когда я запускаю свой код, он прерывается на этой ошибке, и я хотел бы ее устранить.

//recommended logger declaration
private static Logger logger = LogManager.GetCurrentClassLogger();

//exception thrown when calling the instance declaration
Error Error logging version of assembly NLog, Version=4.0.0.0, 
Culture=neutral, PublicKeyToken=5120e14c03d0593c. Exception: 
System.ArgumentException: The path is not of a legal form.
   at System.IO.Path.LegacyNormalizePath(String path, Boolean fullCheck, 
Int32 maxPathLength, Boolean expandShortPaths)
   at System.IO.Path.GetFullPathInternal(String path)
   at System.IO.Path.GetFullPath(String path)
   at System.Diagnostics.FileVersionInfo.GetFullPathWithAssert(String 
fileName)
   at System.Diagnostics.FileVersionInfo.GetVersionInfo(String fileName)
   at NLog.Common.InternalLogger.LogAssemblyVersion(Assembly assembly)

Я проверял, что без установленного Fody / Costura ошибка исчезает, и когда Fody /Costura установлен, ошибка возвращается.

Я хотел бы устранить ошибку и не останавливать IDE каждый раз, когда запускаю код.Я также не хочу игнорировать конкретное исключение на случай, если оно произойдет в другом коде, не связанном с Nlog.Исключением является System.ArgumentException, и это может произойти в другом коде.

1 Ответ

1 голос
/ 30 марта 2019

Создано github.com/NLog/NLog/pull/3258 - Рольф Кристенсен

Так будет исправлено в NLog 4.6.1. Выпуск сегодня или завтра (в зависимости от часового пояса;)

Обновление : выпущено: https://www.nuget.org/packages/NLog/4.6.1

...