.Net4.7.2 с базовой библиотекой nuget - System.Object определен в сборке, на которую нет ссылок - PullRequest
0 голосов
/ 03 июля 2019

Я вижу много сообщений с этой ошибкой, и большинство из них не имеют решений. Когда у них есть решение, они меняются, и ни один из них не работает в этом случае.

У меня есть проект, который нацелен на ядро ​​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 запускаемого приложения, но это не помогло.

Есть идеи?

...