Нарушение обмена файлами с NlogC#

Место общения программистов C#
Anonymous
Нарушение обмена файлами с Nlog

Сообщение Anonymous »

Моя C# DLL настраивает NLog для сохранения в файл:

Код: Выделить всё

private static void SetupLogging()
{
var Config = new NLog.Config.LoggingConfiguration();
var logfile = new NLog.Targets.FileTarget("logfile")
{
FileName = m_LogFile,
WriteBom = true,
Layout = "${longdate}|${level:uppercase=true}|${logger}|${message:withException=true:exceptionSeparator=|}"
};
var logconsole = new NLog.Targets.ConsoleTarget("logconsole");

Config.AddRule(LogLevel.Info, LogLevel.Fatal, logconsole);
Config.AddRule(LogLevel.Debug, LogLevel.Fatal, logfile);

LogManager.Configuration = Config;
}
Мое приложение C++ использует DLL и выполняет различные задачи. Когда он обнаруживает ошибку, он пытается отобразить журнал ошибок. Это делается следующим образом:

Код: Выделить всё

CFile file{};
CFileException ex{};

if (!file.Open(filePath, CFile::modeRead, &ex))
{
TCHAR szError[_MAX_PATH]{};
ex.GetErrorMessage(&szError[0], _MAX_PATH);
AfxMessageBox(&szError[0], MB_OK | MB_ICONERROR);
return;
}
Проблема в том, что возникает исключение:
[img]https://i. sstatic.net/EA7niKZP.png[/img]

Тем не менее, пока отображается это сообщение, я действительно могу открыть файл с помощью Блокнота.
Так как же могу ли я заставить свое приложение открыть журнал, не получив при этом нарушения общего доступа?

Подробнее здесь: https://stackoverflow.com/questions/787 ... -with-nlog

Вернуться в «C#»