В сборке .NET Standard 2.0 у меня есть функция для записи в журнал событий:
public static void WriteEventLog(string Source, string Message, EventLogEntryType EvType)
Перечисление EventLogEntryType упоминается в nuget System.Diagnostics.EventLog 8.0.0. Сборка собирается без ошибок.
Но когда я ссылаюсь на сборку в другой библиотеке классов, которая находится в .NET 4.8, и пытаюсь вызвать эту функцию, я получаю следующую ошибку сборки:
Ошибка CS0012
Тип EventLogEntryType определен в сборке, на которую нет ссылки. Вы должны добавить ссылку на сборку «System.Diagnostics.EventLog, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51».
Так что я попробовал ссылка на System.Diagnostics.EventLog 8.0.0 также есть в библиотеке .NET 4.8, но это не помогает. Я все еще получаю ту же ошибку.
Я делаю что-то не так? Как я могу решить эту проблему?
Похоже, что компилятор использует EventLogEntryType из системы сборки, версия 4.0.0, а не EventLogEntryType из System .Diagnostics.EventLog 8.0.0.
По запросу csproj:
netstandard2.0
Library
false
xx.yyy.zzz
true
full
false
embedded
true
Подробнее здесь: https://stackoverflow.com/questions/790 ... cts-genera