от
У меня возникли некоторые проблемы с NLog, .Чистая ядра 2.2 Паш API для проекта и отладки контейнеров Docker в Visual студии 2017. Я следовал руководство по установке на сайт GitHub NLog, добавил код в основную программу метод, создал nlog.файл конфигурации:
var logger = NLog.Web.NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();
Debug.Write(logger);
try
{
    logger.Debug("init main");
    CreateWebHostBuilder(args).Build().Run();
}
catch (Exception ex)
{
    //NLog: catch setup errors
    logger.Error(ex, "Stopped program because of exception");
    throw;
}
finally
{
    // Ensure to flush and stop internal timers/threads before application

Приложение работает невероятно медленно, это настроить регистратор. Но в конце концов это делает вам файл config.

Если я слежу за выход в то время как он это делает, я получаю непрерывный список сообщений об ошибках следующим образом:

Loaded '/usr/share/dotnet/shared/Microsoft.NETCore.App/2.2.5/System.Private.CoreLib.dll'. Cannot find or open the PDB file.
Loaded '/app/bin/Debug/netcoreapp2.2/SharpGaming.Api.Gateway.Ui.dll'. Symbols loaded.
Loaded '/usr/share/dotnet/shared/Microsoft.NETCore.App/2.2.5/System.Runtime.dll'. Module was built without symbols.
Loaded '/root/.nuget/fallbackpackages2/nlog/4.6.5/lib/netstandard2.0/NLog.dll'. Cannot find or open the PDB file.
Loaded '/usr/share/dotnet/shared/Microsoft.NETCore.App/2.2.5/netstandard.dll'. Module was built without symbols.
Loaded '/root/.nuget/fallbackpackages2/nlog.web.aspnetcore/4.8.3/lib/netstandard2.0/NLog.Web.AspNetCore.dll'. Cannot find or open the PDB file.
Loaded '/usr/share/dotnet/shared/Microsoft.NETCore.App/2.2.5/System.Diagnostics.Debug.dll'. Module was built without symbols.
Loaded '/usr/share/dotnet/shared/Microsoft.AspNetCore.App/2.2.5/Microsoft.AspNetCore.Hosting.Abstractions.dll'. Cannot find or open the PDB file.
Loaded '/usr/share/dotnet/shared/Microsoft.AspNetCore.App/2.2.5/Microsoft.AspNetCore.Hosting.dll'. Cannot find or open the PDB file.
Step into: Stepping over property 'NLog.Config.ConfigurationItemFactory.get_Default'. To step into properties or operators, go to Tools

Это продолжается еще несколько исключений

Loaded '/usr/share/dotnet/shared/Microsoft.NETCore.App/2.2.5/System.Console.dll'. Cannot find or open the PDB file.
Exception thrown: 'System.IO.IOException' in System.Private.CoreLib.dll
Loaded '/usr/share/dotnet/shared/Microsoft.NETCore.App/2.2.5/System.Diagnostics.StackTrace.dll'. Module was built without symbols.
Exception thrown: 'System.IO.IOException' in System.Private.CoreLib.dll
Exception thrown: 'System.IO.IOException' in System.Private.CoreLib.dll
... и еще несколько. Вот только это настройка регистратора. Он продолжает делать это, когда регистратор загрузится. Я подумал, что, возможно, он работает в режиме отладки, но файла Docker был создан пакет выпуска. Так что я попытался изменить это, так что он побежал как release или debug, все равно делает то же самое. Развернутой к примеру докер код не включает в себя файлы pdb, который я ожидаю. Это почти как NLog DLL-файл пытается запустить в режиме отладки, когда она должна быть запущена в релиз? Если я удалить код установки для NLog, все работает нормально. Я не получаю ошибки и приложение работает плавно и быстро в контейнере Docker. Я использую Windows для настройки и создания докеров Линукс. Может кто-нибудь помочь?

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

1 Ответ

0 голосов
от
Я все понял... В nlog.файл config указывала на каталог Windows.
...