确定 class 所在的模块
Determine in what module a class resides
我有一些代码在 ISE 中可以正常工作,但在脚本中却失败了。它在我使用 [System.Windows.Media.GlyphTypeface]::new()
的地方失败了,这是一种常见的情况,一个在 ISE 中自动加载的模块,但需要在脚本中单独加载。
所以这就提出了一个通用的问题,有没有办法从类型开始并确定需要什么模块?或者这是您只需要知道的其中之一 and/or 能够挖掘 Microsoft 支持文档以获取信息?
System.Windows.Media.GlyphTypeface 不是 PowerShell 模块。它是一个 .NET Framework class。您通常需要查看 class 的文档以找到它所属的程序集。 (https://docs.microsoft.com/en-us/dotnet/api/system.windows.media.glyphtypeface) 在这种情况下 PresentationCore.dll.
您将使用 AddType 加载此程序集。
Add-Type -AssemblyName PresentationCore
搜索“find .net assembly from class name”将找到关于此主题的一些问答,但主要是 C# 示例。
我有一些代码在 ISE 中可以正常工作,但在脚本中却失败了。它在我使用 [System.Windows.Media.GlyphTypeface]::new()
的地方失败了,这是一种常见的情况,一个在 ISE 中自动加载的模块,但需要在脚本中单独加载。
所以这就提出了一个通用的问题,有没有办法从类型开始并确定需要什么模块?或者这是您只需要知道的其中之一 and/or 能够挖掘 Microsoft 支持文档以获取信息?
System.Windows.Media.GlyphTypeface 不是 PowerShell 模块。它是一个 .NET Framework class。您通常需要查看 class 的文档以找到它所属的程序集。 (https://docs.microsoft.com/en-us/dotnet/api/system.windows.media.glyphtypeface) 在这种情况下 PresentationCore.dll.
您将使用 AddType 加载此程序集。
Add-Type -AssemblyName PresentationCore
搜索“find .net assembly from class name”将找到关于此主题的一些问答,但主要是 C# 示例。