【发布时间】:2017-12-18 13:21:49
【问题描述】:
我想使用通用 Windows 平台库中的数据类型,如何在 PowerShell 中引用包含的命名空间或程序集?
例如,我想使用Windows.Data.Json.JsonObject class 来解析一些json。
如果这是一个常规的 .NET 类,我会做类似的事情
Add-Type -AssemblyName Windows.Data.Json
$jsonObject = [Windows.Data.Json.JsonObject]::Parse('{data:["powershell","rocks"]}')
但是这个策略让我失望了:
Add-Type : Cannot add type. The assembly 'Windows.Data.Json' could not be found.
At line:1 char:1
+ Add-Type -AssemblyName Windows.Data.Json
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Windows.Data.Json:String) [Add-Type], Exception
+ FullyQualifiedErrorId : ASSEMBLY_NOT_FOUND,Microsoft.PowerShell.Commands.AddTypeCommand
现在,我假设 Windows.Data.Json 命名空间的程序集是 Windows.Data.Json.dll 可能是完全错误的,但 API 引用实际上似乎不包含对包含文件的任何引用,这让我相信dll 文件实际上不是我应该寻找的。p>
我假设 UWP 有它自己很酷的类似 GAC 的存储,我可以从中加载共享库,我只是不知道如何。
所以基本上我的问题是,如何将 UWP 共享库加载到 PowerShell 中,我应该如何引用 UWP 类型文字?
在 Windows 10(内部版本 1703)上运行 PowerShell 5.1
【问题讨论】:
标签: .net windows powershell uwp