В чем именно разница между .net vNext. .net core и vNext / объяснение

#.net #.net-core

#.net #.net-core

Вопрос:

Привет, в настоящее время я работаю над проектом, который использует библиотеки PCL, мы переносим все на .net standard. Я читал о.чистый стандарт, что есть, что нет, что поддерживает или нет, и я столкнулся со знаменитой таблицей версий / платформ (подробнее)

введите описание изображения здесь

То, что я не понимаю: что такое vNext? Я думал, что понял, что это такое, но я думаю, что ошибаюсь, и дело в том, что я не могу найти свой ответ нигде, даже в блогах / веб-сайтах Microsoft. Я думал, что это новая версия фреймворка, которая имеет некоторые новые функции и улучшения, такие как компиляция в native и новый ryujit и т. Д… Но каждый раз, когда я ищу vnext, я всегда вижу ASP.Net vNext и никогда .net vNext и ASP — это веб-материалы для создания страниц и т. Д. Но, согласно приведенной выше таблице, версия 1.6 .net standard поддерживает vNext, который является фреймворком.

Если я проверю эту страницу, я не увижу там никакого .net vNext.

  • Может кто-нибудь объяснить мне, что именно представляет собой эта вещь vNext?
  • Как я могу загрузить его и работать с ним?
  • Microsoft удалила имя vNext для использования .net core?
  • Допустим, я хочу создать проект CLI vnext, как я могу это сделать?
  • У меня установлено .net core, если я создаю новое консольное приложение .net core, я не вижу опций для компиляции в native, например, поэтому я предполагаю, что это не vNext!

Комментарии:

1. «vNext» в этой конкретной таблице — это просто общее название для «следующей версии этого, как бы мы ни решили ее назвать». Итак, для .NET Framework «vNext» может быть 4.6.3 или 4.7.0 или, может быть, даже 5.0, но что бы это ни было, оно будет поддерживать профиль .NET Standard 1.6.

2. Я голосую за то, чтобы закрыть этот вопрос как не относящийся к теме, потому что OP просто смущен короткой рукой.

3. Хорошо, так где же «compile .net to native» и «new jit» в середине этого, если vNext просто означает будущую версию?

4. .NET Native — это отдельная вещь и не имеет ничего общего с этой таблицей. Это вариант компиляции для приложений .NET Framework и UWP. RyuJIT (если это то, что вы имеете в виду под «новым JIT») — это дрожание .NET Framework начиная с версии 4.6. Компиляция / jitting — это не то, чем занимается .NET Standard, а предоставление согласованного API.

Ответ №1:

Имя vNext — это просто заполнитель для «Каким бы ни был будущий номер версии, мы еще не решили». Это не конкретная «версия», которую вы можете загрузить или создать.

Если вы посмотрите на таблицу из https://learn.microsoft.com/en-us/dotnet/standard/library вы увидите, что некоторые значения vNext были заполнены, поскольку были выбраны номера версий.

введите описание изображения здесь

Если вы действительно хотите выполнить сборку с использованием «vNext», вам нужно получить исходный код последней ветки разработки для платформы, над которой вы хотите работать, скомпилировать ее (или найти предварительную версию, в которой она предварительно скомпилирована) и использовать эту предварительную версию для создания вашего проекта.

Что касается функций Compile to .NET Native и RyuJIT, то это функции компилятора Roslyn, который поставляется в комплекте с Visual Studio 2015 и новее.