Я вижу много сообщений с этой ошибкой, и большинство из них не имеют решений. Когда у них есть решение, они меняются, и ни один из них не работает в этом случае.
У меня есть проект, который нацелен на ядро 2.2 и dotnet framework 4.7.2 следующим образом:
<TargetFrameworks>netcoreapp2.2; net472</TargetFrameworks>
Я упаковываю это в файл nuget.
Я добавляю это как пакет nuget в библиотеку классов dotnet framework 4.7.2. Во время выполнения я получаю эту ошибку:
Тип 'System.Object' определен в сборке, которая не является
ссылки. Вы должны добавить ссылку на сборку 'netstandard,
Версия = 2.0.0.0, Культура = нейтральная, PublicKeyToken = cc7b13ffcd2ddd51 '.
После нескольких дней исследований я обнаружил, что решение было вручную добавить refercne в файл csproj библиотеки классов .
<Reference Include="netstandard, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL" />
Это было добавлено в библиотеку классов, а не в загрузочное приложение. Он строит и работает без проблем.
Теперь другой проект выдает ту же ошибку. Это другой стартовый проект (веб-приложение 4.7.2), но он ссылается на ту же библиотеку классов, что и выше (со ссылкой на netstandard).
Я попытался добавить эту ссылку в csproj запускаемого приложения, но это не помогло.
Есть идеи?