You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Identify difference of library sets between Nano and PowerShell Core from repo #1031
This issue tracks the first step of building Nano sources with .NET CLI out of GitHub. We are identifying what libraries PowerShell Core from repo does not yet build that Nano does build.
This will be a list of all PowerShell assemblies, checked indicates it is built for PowerShell repo:
I believe Dan Travison (@dantraMSFT) is working on getting CimCmdlets going. The MMI/N/U are all packaged and under a different scope. Same goes for WSMan. Paul Allen (@paulcallen) do you know the plan for WSMan stuff?
Looks like Microsoft.PowerShell.Commands.Diagnostics is all we're really missing from the PowerShell namespace. I'm not sure about localaccounts.dll, doesn't appear to be in the PowerShell namespace, but this is related to #952. Same goes for PSEvents.dll (is this separate from Eventing?) and pwrshsip.dll.
sergei (@vors) could use your input here. I'll get an issue filed for Diagnostics. Should be pretty easy to map over and build for Windows (not sure about porting to Linux).
PSEvents.dll is resource dll, which is generated by building the manifest file admin\monad\nttargets\assemblies\logging\ETW\Manifests\Microsoft-Windows-PowerShell-Instrumentation.man. "EVENTS_MANIFEST" and "COUNTERS_MANIFEST" are used in the sources file to generate resource files and resource header files from the manifest. Then the resource files and resource header files are builit into PSEvents.dll.
Under the hook, it seems Message Compiler (MC.exe) is used for 'EVENTS_MANIFEST'
sergei (@vors) We are start to build assemblies under wmi foder. to begin we need
..\admin\wmi\Events\GetEvent
to build microsoft.powershell.commands.diagnostics.dll
Dongbo Wang (@daxian-dbw) So if it's just a resource library, that shouldn't be too bad; we just need to add it to the resgen script in the build module and ensure that the appropriate library references the generated C# bindings plus the resources correctly.
As far as native images go, we're simply waiting on tooling support.
I checked System.Reflection.Metadata.dll since of course we have it 😄
As far as powershell.exe being checked: I checked it because as a dependency, it is satisfied. We do not use PowerShell's native host, but we have a native host provided by .NET and so have a powershell.exe.
I have enabled building of the following three dlls in my local repository. I will go through the workflow docs, and figure out the process to get this in Github.
Microsoft.WSMan.Management
Microsoft.WSMan.Runtime
Microsoft.PowerShell.LocalAccounts
I also found that dotnet-cli supports excluding certain .cs files for a specific target framework, so we don't need to add !CORECLR guards for .cs files that are not included in PowerShell Core.
changed the title [-]Identify difference of library sets between Nano and Open PowerShell[/-][+]Identify difference of library sets between Nano and PowerShell Core from repo[/+]on Aug 17, 2016
Activity
chunqingchen commentedon May 25, 2016
List of binaries/assemblies for Nano PowerShell:
Microsoft.Management.Infrastructure.CimCmdlets.dll(need nuget package)Microsoft.Management.Infrastructure.Native.dll(need nuget package)Microsoft.Management.Infrastructure.Native.Unmanaged.dll(need nuget package)Microsoft.Management.Infrastructure.dll(need nuget package)Microsoft.WSMan.Management.dll(need nuget package)Microsoft.WSMan.Runtime.dll(need nuget package)Nano powershell.exe (? want the native Nano powershell.exe ?)(not needed)pwrshsip.dllList of module manifest/script module files for Nano PowerShell:
andyleejordan commentedon May 25, 2016
I believe Dan Travison (@dantraMSFT) is working on getting CimCmdlets going. The MMI/N/U are all packaged and under a different scope. Same goes for WSMan. Paul Allen (@paulcallen) do you know the plan for WSMan stuff?
Looks like
Microsoft.PowerShell.Commands.Diagnosticsis all we're really missing from the PowerShell namespace. I'm not sure aboutlocalaccounts.dll, doesn't appear to be in the PowerShell namespace, but this is related to #952. Same goes forPSEvents.dll(is this separate from Eventing?) andpwrshsip.dll.andyleejordan commentedon May 25, 2016
sergei (@vors) could use your input here. I'll get an issue filed for
Diagnostics. Should be pretty easy to map over and build for Windows (not sure about porting to Linux).andyleejordan commentedon May 26, 2016
sergei (@vors) needs an issue tracking WSMan module.
raghushantha commentedon May 26, 2016
WSMan PS Provider is in admin\wmi\wmx\cmdlets\Management
andyleejordan commentedon May 26, 2016
Andy Jordan (@andschwa) needs an issue tracking pulling inMicrosoft.PowerShell.LocalAccountsinto PowerShell Core.Done in #952 (thanks Mike Richmond (@mirichmo)).
andyleejordan commentedon May 26, 2016
Dongbo Wang (@daxian-dbw) needs to investigate
PSEvents.dllvors commentedon May 26, 2016
Currently it's a our home-made nuget package for Full PS build.
Me and Steve Lee (@SteveL-MSFT) think it falls in the same bucket as MMI (from open-sourcing the code prospective)
joeyaiello commentedon May 26, 2016
Joey Aiello (@joeyaiello) Create an issue for potentially porting
pwrshsip.dll.daxian-dbw commentedon May 26, 2016
PSEvents.dll is resource dll, which is generated by building the manifest file admin\monad\nttargets\assemblies\logging\ETW\Manifests\Microsoft-Windows-PowerShell-Instrumentation.man. "EVENTS_MANIFEST" and "COUNTERS_MANIFEST" are used in the sources file to generate resource files and resource header files from the manifest. Then the resource files and resource header files are builit into PSEvents.dll.
Under the hook, it seems Message Compiler (MC.exe) is used for 'EVENTS_MANIFEST'
and ctrpp.exe is used for 'COUNTERS_MANIFEST'
daxian-dbw commentedon May 26, 2016
PSEvents.dll is a tricky one ...
Chunqing Chen (@chunqingchen) could you please update the assembly list based on my following comments?
BTW, "powershell.exe" is checked in the list, what does it mean?
chunqingchen commentedon Jun 3, 2016
sergei (@vors) We are start to build assemblies under wmi foder. to begin we need
..\admin\wmi\Events\GetEvent
to build microsoft.powershell.commands.diagnostics.dll
andyleejordan commentedon Jun 7, 2016
Dongbo Wang (@daxian-dbw) So if it's just a resource library, that shouldn't be too bad; we just need to add it to the resgen script in the build module and ensure that the appropriate library references the generated C# bindings plus the resources correctly.
As far as native images go, we're simply waiting on tooling support.
I checked
System.Reflection.Metadata.dllsince of course we have it 😄As far as
powershell.exebeing checked: I checked it because as a dependency, it is satisfied. We do not use PowerShell's native host, but we have a native host provided by .NET and so have apowershell.exe.daxian-dbw commentedon Jun 13, 2016
I have enabled building of the following three dlls in my local repository. I will go through the workflow docs, and figure out the process to get this in Github.
I also found that dotnet-cli supports excluding certain .cs files for a specific target framework, so we don't need to add !CORECLR guards for .cs files that are not included in PowerShell Core.
cc: Andy Jordan (@andschwa) Mike Richmond (@mirichmo) sergei (@vors) Jason Shirk (@lzybkr)
vors commentedon Jun 14, 2016
I updated list with
dlls for which we need a good nuget package, instead of building from sources.daxian-dbw commentedon Jun 14, 2016
#1105 is opened to track the nuget package work.
vors commentedon Jun 20, 2016
We have only 1 native resource dll left PSEvents.dll
vors commentedon Jul 2, 2016
The last one is tracked in #1189
[-]Identify difference of library sets between Nano and Open PowerShell[/-][+]Identify difference of library sets between Nano and PowerShell Core from repo[/+]