У меня есть решение, которое я построил с использованием .NET 4.7.Это решение имеет два проекта:
- Библиотека классов (.NET 4.7.2)
- Проект модульного тестирования (.NET Framework)
Iпытаюсь перенести это решение на использование .NET Standard |Core.
Я успешно перенес библиотеку классов в проект .NET Standard 2.0.Я также перенес проект модульного тестирования в .NET Core 2.0 mstest проект .Все компилируется.Я могу запустить свои тесты, как и ожидалось.Однако, никакие журналы не пишутся через NLog.
В моей версии решения .NET 4.7, когда я запускал модульные тесты, фактический файл журнала записывался через NLog.Тем не менее, в новом .NET Standard |Реализация ядра, этот файл журнала не записывается.У меня есть следующие два файла в моем проекте mstest:
App.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
</configuration>
nlog.config
<?xml version="1.0" encoding="utf-8" ?>
<!-- XSD manual extracted from package NLog.Schema: https://www.nuget.org/packages/NLog.Schema-->
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xsi:schemaLocation="NLog NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
autoReload="true"
internalLogFile="c:\temp\console-example-internal.log"
internalLogLevel="Info" >
<targets>
<target name="myLogs" xsi:type="File" deleteOldFileOnStartup="true" fileName="${basedir}/logs/MyLogs.json" createDirs="true" keepFileOpen="true" encoding="utf-8" layout="${message}" />
<target name="traceLogs" xsi:type="File" deleteOldFileOnStartup="true" fileName="${basedir}/logs/trace.log" createDirs="true" keepFileOpen="true" encoding="utf-8" layout="[${longdate}] ${message}${exception:format=ToString}"></target>
</targets>
<rules>
<logger name="MyLogger" minlevel="Info" writeTo="myLogs" />
<logger name="TraceLogger" minlevel="Trace" writeTo="traceLogs" />
</rules>
</nlog>
В моем проекте mstest я также добавил ссылки на:
- Microsoft.Extensions.DependencyInjection
- NLog
- NLog.Extensions.Logging
Я выполнил шаги, обозначенные здесь .Кроме того, я ничего не делал, кроме шага 2. Нужен ли этот материал для проекта mstest?Если да, то где?Кажется, что для чего-то, что уже работает, нужно много дополнительных вещей.