/ / Има ли PowerShell Core на .NET Core? - .net, powershell, скриптове, моно, .net-core

Дали Powershell Core работи на .NET Core? - .net, powershell, scripting, моно, .net-core

Заглавието казва всичко.

Уикипедия:

Първоначално само компонент за Windows, известен катоWindows PowerShell, то бе направен с отворен код и платформа на 18 август 2016 г. с въвеждане на PowerShell Core [4]. Първият е изграден на .NET Рамка, докато последната версия на .NET Core.

акцентът беше добавен.

От това, което си спомням, Powershell Core Трябва да може да се позове, ефективно, Mono, Вярно ли е?

Вижте също:

Пускане на PowerShell от .NET Core

Стартиране на PowerShell скрипт в Mono?

Скриптовете PowerShell се изпълняват под моно?

Отговори:

2 за отговор № 1

От това, което си спомням четене, Powershell Core трябва да може да се позове ефективно на Моно. Вярно ли е?

Каквото и да означава това, се съмнявам в товаВреме е. Можете ли да компилирате нетривиален код, написан за Mono с .Net Core и обратно? Може би, но не винаги. Можете ли да заредите библиотеки, написани за Mono, с .Net Core и обратното? С .Net Core 2.0 вие сте предполагаем за да можете да направите това, че е по-малко от една година от бета (точно като PowerShell Core е по-малко от месец от бета), така че отново, може би, но не винаги. Add-Type с моно код и очаквате да се изпълни? Може би, но ще го компилирате с. Core Core, не Mono.

Ако имате предвид "От PowerShell Core, обадете се накомпилирана програма, която случайно е написана с помощта на Mono. "В този случай, да, винаги можете да го направите. Можете да стартирате външни програми с него.

Моно и.Net Core са две реализации на .Net CLR, които се изпълняват на Linux, но те не винаги са съвместими и не прилагат идентичен набор от имена. .Net Core кодът не е задължително да е съвместим с .Net Framework изходен код.Тя е най-добре да се мисли за тях като различни реализации на един и същи език, като Visual C ++ срещу GNU C ++ или IBM Java срещу Oracle Java.

С течение на времето те ще се сближат скато поддържаме един стандартен CLR стандарт (.Net Standard), но ние сме в началото на това пътуване .Net Core 1.x беше много гола костна система .Net Core 2.0 обработи един тон, но все още е много, много рано. Моно е вече продукт на MS, но може да има компоненти, които просто не се смесват. Моно и .Net Core (и .Net Framework и Unity) в крайна сметка се очаква да поддържат .Net Standard, който е стандарт EMCA, но те никога нямаше да бъде 100% идентичен. Подозирам, че когато стигнем до .Net Core 4, ще имаме ".net Core", който изпълнява всичко от .Net Standard и след това ".Net Framework Framework" като разширение с липсващите неща от оригинала. Net Framework и може би ".Net Linux Framework", за да вършат същите неща на Linux.