Dnx451 против NetFramework

Насколько я понимаю, если мое приложение нацелено на DNX Core, на хост-компьютере не нужно устанавливать .net framework, поскольку DNX сам предоставляет среду размещения (CLR и все зависимости как часть развернутого пакета), и это также имеет смысл, чтобы понять, почему он может быть кросс-платформенным, имея разные среды исполнения dnx для разных платформ.

Однако я не могу составить свое представление о DNX451, поскольку DNX451 представляет собой полноценную NetFramework.

Если мое приложение нацелено на DNX451, мне также нужно установить .Net Framework на хост-компьютере, верно?

Если мое приложение ASP.NET 5 нацелено только на DNX451 (не на DNX CORE), то оно не поддерживает кроссплатформенность, верно?

Короче говоря, мне нужно понять разницу между целевым приложением для DNX451 и .NET Framework?


person rahulaga_dev    schedule 30.11.2015    source источник


Ответы (2)


Если вы нацеливаетесь на dnx451, это соответствует среде рабочего стола.

Если вы нацеливаетесь на dnxcore50, это соответствует кросс-платформенному ядру .net.

При сборке можно создать nuget, содержащий сборку для каждой из целей.

Когда вы запускаете его на платформе рабочего стола, он будет использовать сборку для среды рабочего стола, а когда вы запускаете его на dnxcore50, он будет использовать сборку для dnxcore50.

Если вы не нацелитесь на dnxcore50, то не будет сборки для dnxcore50, и вы не сможете запускать кросс-платформу.

Если вы ориентируетесь как на dnx451, так и на dnxcore50, то вы должны быть осторожны, используя вещи, которые работают в обоих, или вы должны использовать #if вокруг несовместимых частей.

Если вы нацелены только на dnx451, вы можете использовать вещи, которые не поддерживаются в dnxcore50, но вы не можете запускать его на ядре .net.

person Joe Audette    schedule 30.11.2015

Короче говоря, мне нужно понять разницу между целевым приложением для DNX451 и .NET Framework?

Вы не можете настроить приложение dnx на .Net Framework напрямую (я имею в виду аббревиатуру net4x, про аббревиатуру для разных целей мы можем прочитать здесь), для .Net Framework (net4x) вы можете ориентироваться только на portable class library (package), который может использовать приложение dnx. dnx451 означает, что среда выполнения .net внутри использует .net framework 4.5.1 . Если вы ориентируетесь на dnxcore, dnx использует ядро .Net.

Если мое приложение нацелено на DNX451, то мне также нужно установить .Net Framework > на хост-компьютере, верно?

Да

Если мое приложение ASP.NET 5 нацелено только на DNX451 (не на DNX CORE), то оно не поддерживается кросс-платформой, верно?

Да

person Stas Boyarincev    schedule 30.11.2015