2016-01-11 2 views
0

Я не мог найти ответ в сети, поэтому я пробую его здесь: В чем разница между DNX (.NET Execution Environment) и .NET Core?Разница DNX и .NET Core

Я знаю, что DNX является SDK, а также используется для выполнения кода, а .NET Core содержит CoreFX (библиотеки) и CoreCLR (время выполнения общего языка).

Но я до сих пор не понимаю, что именно происходит между DNX и .NET Core.

+0

чтения: https://github.com/aspnet/dnx и https://github.com/dotnet/coreclr – Asik

+0

@Asik Я знаю это, но есть кое-что, чего я еще не совсем понял ... И я не знаю, что это могло быть –

ответ

1

Простой ответ? DNX используется для запуска .NET Core.

Более длинный ответ можно прочитать здесь: http://docs.asp.net/en/latest/dnx/overview.html Обратите особое внимание на разделы «Создание для .NET Core» и «Пакет экосистем».

+0

Спасибо за объяснение. Это очень помогло! –

+0

Но то, что я до сих пор не полностью понял: Приложение .NET работает в DNX, который является enviorment, в котором приложение можно запускать и отлаживать. Но что же тогда CoreCLR по сравнению с DNX? –

+1

Вы можете думать о том, что DNX похож на виртуальную машину (или ОС), а CoreCLR - это куча DLL и программ, работающих в виртуальной машине. Это не очень точное описание, но это лучшее, что я могу придумать. –

1

Я понимаю, что .NET Core - это основная среда исполнения Common Language Runtime и различные библиотеки .NET, используемые в .NET-приложениях. Это были бы такие вещи, как Microsoft.AspNet.Server.Kestrel, Microsoft.AspNet.Mvc, Microsoft.AspNet.Tooling.Razor и т. Д.).

DNX - это компилятор .NET, который отвечает за запуск вашего приложения .NET. В принципе, вы должны установить одну или несколько версий DNX (clr, coreclr, mono). Затем вы создадите приложение и введите что-то вроде dnx run или dnx web из командной строки для запуска вашего приложения.

Существует также DNVM (менеджер версий .NET), который является инструментом, используемым для поддержки (установки, обновления, удаления и т. Д.) Версий DNX. Это можно сделать путем ввода команд, как dnvm upgrade, dnvm install <dnx_version>, dnvm uninstall <dnx_version>, dnvm use <dnx_version> и т.д.

И тогда есть ДНУ (менеджер .NET Utilities), который управляет зависимостями ваше приложение опирается на расположенный в файле project.json каждый раз, когда вы добавляете/удаляете новые зависимости в файле project.json, необходимо выполнить dnu restore, чтобы обновить зависимости, которые ваша приложение использует перед запуском dnx run или dnx web.

Я слышал, что dnx, dnvm, dnu все будет под dotnet только .NET 5 теперь называется .NET Ядро 1,0

Смежные вопросы