Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Microsoft PowerShell SDK

This project is a metapackage referencing the PowerShell projects and .NET Core packages that PowerShell ships.

The package dependencies consist of two parts:

  1. PowerShell projects: local source code with own sets of dependencies
  2. .NET Core packages: the framework libraries that we ensure are present for PowerShell developers at runtime

This second set includes packages that we do not necessarily require at compile-time, but must provide for our users at runtime. For example, we include the library System.Runtime.Serialization.Json.dll so that users of PowerShell can utilize its types and methods, even though PowerShell does not directly depend on the library.

There are intentionally duplicated dependencies. Instead of relying on dependency transitivity where A -> B, B -> C, so A -> C, we explicitly include A -> C if A requires C despite the removal of B. Additionally, we want to easily identify our complete dependency set without generating a lockfile (an artifact of dotnet restore after it resolves the dependency graph). For example, System.Management.Automation depends on System.Diagnostics.TraceSource, but Microsoft.PowerShell.SDK depends on both System.Diagnostics.TraceSource and System.Management.Automation.

Transitive dependencies not listed in project.json are not a part of public contract.

Morty Proxy This is a proxified and sanitized view of the page, visit original site.