Files
PowerShell-PowerShell/src/powershell
Steve Lee c1c5344a88 Update copyright and license headers (#6134)
Based on standard practices, we need to have a copyright and license notice at the top of each source file. Removed existing copyrights and updated/added copyright notices for .h, .cpp, .cs, .ps1, and .psm1 files.

Updated module manifests for consistency to have Author = "PowerShell" and Company = "Microsoft Corporation". Removed multiple line breaks.

Separate PR coming to update contribution document for new source files: #6140

Manually reviewed each change.

Fix #6073
2018-02-13 09:23:53 -08:00
..

PowerShell

The powershell[.exe] executable for PowerShell is built by powershell-unix and powershell-windows projects, as they are the top dependencies of the graph, and has emitEntryPoint: true, meaning a native executable is produced automatically by CLI (no need to own a separate native host).

This project is a very simple shim that provides a Main function for .NET CLI to produce an app. It initializes PowerShell's custom AssemblyLoadContext and then delegates to the same Start function in Microsoft.PowerShell.ConsoleHost that the original native PowerShell host executes; thus we share the same entry point and the same PowerShell host, but use a different native host. This lets us take full advantage of .NET CLI's native host.

We use this shim so that the ConsoleHost project and the original native host do not have to be changed. Additionally, until .NET CLI bugs surrounding content file deployment are solved, this shim allows us to continue with our split Modules folders work-around to deploy the correct versions.