Ссылка на сборку .Net Standard 2.0 в проектах .Net Framework 4.8 приводит к ошибке сборки.C#

Место общения программистов C#
Ответить
Anonymous
 Ссылка на сборку .Net Standard 2.0 в проектах .Net Framework 4.8 приводит к ошибке сборки.

Сообщение Anonymous »

В сборке .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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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