.NETFramework4.6.1 ссылается на целевую библиотеку.NETstandard2.0
Я создаю веб-приложение asp.net с Target Framework: .NET Framework 4.6.1
и библиотека классов с целевой средой: .NET Standard 2.0
в VS2017. Я надеюсь, что это будет работать нормально, так как в документе говорится, что они совместимы: но я получил ошибку:
Проект 'c:\users\ConfusedDev\ Documents\visual studio 2017\Projects\ClassLibrary\ClassLibrary\ClassLibrary.csproj' нацелен на '.NETStandard,Version=v2.0'. На него не может ссылаться проект, нацеленный на.NETFramework,Version=v4.6.1.
что мне не хватает для этого решения, чтобы построить?
1 ответ
https://dotnet.myget.org/feed/dotnet-core/package/nuget/NETStandard.Library
Пакет, который вы использовали, содержит своего рода заглушку для стандарта.net v2:
<group targetFramework=".NETStandard2.0"> <dependency id="Microsoft.NETCore.Platforms" version="1.1.0" /> <dependency id="Microsoft.Packaging.Tools" version="1.0.0-preview2-25303-01" /> </group>
Который просто направляет на.NET Core. Хотя вы можете попробовать более низкие версии стандарта.net. Кажется, они правильно объявлены в пакете 2.0.0-preview2-25303-01.
У меня возникла эта проблема при использовании VS 2017. Я добавил несколько проектов библиотеки стандартных классов.Net в целевое решение.Net 4.6. Так что я не смог найти решение.
Я добавил соответствующее количество проектов библиотеки классов.Net framework. Затем я вырезал и вставил все классы в соответствующие новые проекты (платформа.Net), удалил все инкриминируемые проекты (стандартная структура.Net) и построил решение.