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
The type catalog generator was written by Dongbo Wang (@daxian-dbw) because we do not have AppDomain.GetAssemblies(), which is tracked in dotnet/corefx#1784. If we can get this API exposed by .NET Core, then the entire type catalog generator can go away.
PowerShell Core allows the user to use any .NET Core framework built-in types without knowing whether the assembly containing that type is loaded. Also, tab completion for type names also depends on it.
If the assembly is not loaded, powershell load the assembly for you because it's able to figure out which assembly the type is in through the type catalog.
AppDomain.GetAssemblies cannot help us do that because it only returns loaded assemblies. Therefore, we need to keep the type catalog.
Activity
andyleejordan commentedon May 12, 2016
Dongbo Wang (@daxian-dbw) This may now be doable, as
GetReferencedAssembliesis now exposed.andyleejordan commentedon Jun 29, 2016
This will be doable when
GetAssembliescomes back in the next major release of .NET Core 😄HemantMahawar commentedon Oct 17, 2016
Andy Jordan (@andschwa): Is this still relevant?
andyleejordan commentedon Oct 17, 2016
Hemant Mahawar (@HemantMahawar) Yes; assigning to Dongbo Wang (@daxian-dbw) for any further follow-up.
joeyaiello commentedon May 22, 2017
Workaround in place, not ideal, but no pressing need to do this work yet.
iSazonov commentedon Aug 20, 2018
Dongbo Wang (@daxian-dbw) Could you please add comment why we can not remove the type catalog and close the issue?
daxian-dbw commentedon Aug 31, 2018
PowerShell Core allows the user to use any .NET Core framework built-in types without knowing whether the assembly containing that type is loaded. Also, tab completion for type names also depends on it.
If the assembly is not loaded, powershell load the assembly for you because it's able to figure out which assembly the type is in through the type catalog.
AppDomain.GetAssembliescannot help us do that because it only returns loaded assemblies. Therefore, we need to keep the type catalog.