/ / Чи працює Powershell Core на .NET Core? - .net, powerhell, scripting, mono, .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 під Mono?

Відповіді:

2 для відповіді № 1

З того, що я пам'ятаю, читаючи, Powershell Core повинен бути в змозі ефективно викликати Mono. Це правильно?

Що б ви не мали на увазі під цим, я сумніваюся в цьомуПоки. Чи можете ви скласти нетривіальний код, написаний для Mono за допомогою .Net Core і навпаки? Може, але не завжди. Чи можете ви завантажувати бібліотеки, написані для Mono, за допомогою .Net Core і навпаки? З. Net Core 2.0 ви знову передбачалося щоб мати змогу зробити це, що "бета-версія закінчила менше року (як і у PowerShell Core менше бета-версії на місяць). Отже, ще раз, можливо, але не завжди. Чи можете ви використовувати Add-Type з кодом Mono і очікуєте його запуску? Можливо, але ви будете компілювати його з .Net Core, а не Mono.

Якщо ви маєте на увазі "Від PowerShell Core, зателефонуйте на aскладена програма, яка збіглася випадково, була написана за допомогою 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 був дуже голий. Нет Core 2.0 накопичує тонну, але це все ще дуже, дуже рано. Моно тепер продукт MS, але можуть бути компоненти, які просто не змішуються. Моно і .Net Core (і .Net Framework та Unity), врешті, повинні підтримувати .Net Standard, що є стандартом EMCA, але вони "повторно ніколи не мав бути 100% однаковим. Я підозрюю, що коли ми дістаємось до .Net Core 4 або близько того, у нас буде ".Net Core", який реалізує все від .Net Standard, а потім ".Net Windows Framework" як розширення з відсутніми матеріалами з оригіналу. Net Framework і, можливо, ".Net Linux Framework" робити те саме, що в Linux.