Project X нацелен на .NETStandard, Version = v1.6. На него нельзя ссылаться в проекте, нацеленном на .NETFramework, Version = v4.6.1.

Я действительно хотел быть хорошим гражданином ... скопировал все свои классы в стандартные библиотеки .net 1.6. Просто чтобы узнать, что моя тестовая DLL не может ее использовать. Я получаю следующую ошибку

Project X нацелен на .NETStandard, Version = v1.6. На него нельзя ссылаться в проекте, ориентированном на .NETFramework, Version = v4.6.1.

Конечно, когда я проверяю .Net Standard (https://docs.microsoft.com/en-us/dotnet/articles/standard/library) говорится, что с 1.6 он может ориентироваться на 4.6.1.

Я попробовал 4.6.2, но безуспешно. Я установил пакет .net standard 1.6.1 NuGet. В любом случае, вы, ребята, классные, я уверен, что вы мне скажете, какую глупую ошибку я делаю, что мешает мне делать что-то столь же простое, как запуск модульных тестов со стандартной библиотекой .net.

Спасибо


P.S. Я нашел способ (вроде) использовать проект модульного тестирования ядра .net вместо проекта .net framework. Это не решает мою проблему, поэтому я не могу отметить это как ответ, но, по крайней мере, я могу вернуться к кодированию ...


person Philippe Lavoie    schedule 25.04.2017    source источник
comment
Tools 2.0 довольно глючит, просто он недостаточно хорошо протестирован. Вам придется довольствоваться 1.4. Рассмотрите возможность ожидания, это еще не сделано.   -  person Hans Passant    schedule 25.04.2017
comment
Не могу использовать 1.4, мне нужен System.Runtime.Loader;   -  person Philippe Lavoie    schedule 25.04.2017
comment
У меня была точно такая же проблема с 1.6, и после изменения моего стандартного проекта .Net на 1.4 мой проект 4.6.1 был успешно скомпилирован. FWIW Я тоже пробовал 1.5, но он вел себя так же, как 1.6.   -  person Greg Trevellick    schedule 08.06.2017
comment
@GregTrevellick Вы, сэр, заслужили леденец :)   -  person MickyD    schedule 28.12.2018
comment
@MickyD Ура!   -  person Greg Trevellick    schedule 28.12.2018


Ответы (2)


Вам необходимо перейти на .Net Core SDK 2.x +

После установки перезагрузите компьютер, и вы сможете ссылаться на NetStandard 1.6 в .Net Framework 4.6.1+.

С .Net Core SDK 1.x вы можете ссылаться только на Net Standard 1.5 в .Net Framework 4.6.2.

Лучше всего обновить ваш проект Net Standard до версии 2.0, если сможете.

person Aboo    schedule 14.11.2017

В случае ошибок с похожими заголовками, которые нацелены на разные версии .net framework, это обычно означает, что вам необходимо (установить, если еще нет, и) изменить цель вашего проекта на более новую / новейшую версию .net framework, чтобы соответствовать проекту, ориентированному на новый стандарт .net.

person Farshid    schedule 05.03.2019