Я создал несколько вспомогательных библиотек (NuGet), и они отлично работают в различных приложениях. Net FullFramework и. Net Основные приложения.
Однако, когда я добавляю их в особенно сложное Asp. Net MVC (. Net 4.7.2) веб-приложение, я получаю следующие ошибки:
- Тип 'System.Object' определен в сборке, на которую нет ссылок. Необходимо добавить ссылку на сборку 'netstandard, Version = 2.0.0.0, Culture = нейтральный, PublicKeyToken = ....
- Тип' System.IComparable 'определен в сборке, на которую нет ссылок. Необходимо добавить ссылку на сборку 'netstandard, версия = 2.0.0.0, Culture = нейтральная, PublicKeyToken = ....
- Тип' System.IFormattable 'определен в сборке, на которую нет ссылок. Необходимо добавить ссылку на сборку 'netstandard, Version = 2.0.0.0, Culture = нейтральный, PublicKeyToken = ....
- Тип' System.IConvertable 'определен в сборке, на которую нет ссылок. Необходимо добавить ссылку на сборку 'netstandard, версия = 2.0.0.0, Culture = нейтральная, PublicKeyToken = ....
- Тип' System.ValueType 'определен в сборке, на которую нет ссылок. Вы должны добавить ссылку на netstandard сборки, Version = 2.0.0.0, Culture = нейтральный, PublicKeyToken = ....
В окне «output» последние несколько отображаются как:
ASPNETCOMPILER: ошибка CS0455: параметр типа 'T' наследует конфликтующие ограничения 'System.IFormattable' и 'System.IComparable'
Мои пакеты NuGet (A, B, C D и E) имеют следующие пакеты NuGet:
PackageA - <TargetFrameworks>netstandard2.0;netstandard2.1</TargetFrameworks>
- Microsoft.CodeAnalysis.FxCopAnalyzers 2.98
- NETStandard.Library 2.0.3
- StyleCop.Analyzers 1.1.118
PackageB - <TargetFrameworks>netstandard2.0;netstandard2.1</TargetFrameworks>
- PackageA
- Microsoft.CodeAnalysis.FxCopAnalyzers 2.98
- NETStandard.Library 2.0.3
- Newtonsoft. Json 12.0.3
- StyleCop.Analyzers 1.1.118
- System.Configuration.ConfigurationManager 4.7.0
- System.Data.SqlClient 4.8.1
Пакет C - <TargetFrameworks>netstandard2.0;netstandard2.1</TargetFrameworks>
- PackageB
- Microsoft.CodeAnalysis.FxCopAnalyzers 2.98
- NETStandard.Library 2.0.3
- StyleCop. Анализаторы 1.1.118
- System.Diagnostics.EventLog 4.7.0
PackageD - <TargetFrameworks>netstandard2.0;netstandard2.1</TargetFrameworks>
- Package C
- Microsoft.CodeAnalysis.FxCopAnalyzers 2.98
- NETStandard.Library 2.0.3
- StyleCop.Analyzers 1.1.118
- System.Runtime.Caching 4.7. 0
PackageE - <TargetFrameworks>netstandard2.0;netstandard2.1</TargetFrameworks>
- PackageD
- Microsoft.CodeAnalysis.FxCopAnalyzers 2.98
- NETStandard .Library 2.0.3
- StyleCop.Analyzers 1.1.118
Я пробовал следующее, либо все вместе, либо по одному за раз ... не повезло.
- Добавил ссылку NuGet на NETStandard.Library (2.0.3), а также попробовал 2.0.0 (потому что именно об этом специально и просили).
- Добавил
<Reference Include="netstandard" />
в мой * Файл .csprog