【发布时间】:2020-11-10 22:13:46
【问题描述】:
我有以下 PowerShell 代码:
Add-Type -AssemblyName PresentationFramework
[xml]$Form = "<XAML window definition here>"
$NR = (New-Object System.Xml.XmlNodeReader $Form)
$Win = [Windows.Markup.XamlReader]::Load($NR)
$Win.ShowDialog()
如果我注释掉第一个 Add-Type 语句,脚本仍然可以工作并显示窗口 UI。
上述脚本来自 2016 年的培训课程。我想知道是否由于 PowerShell 的变化而不再需要 Add-Type 语句? PowerShell 环境中是否默认包含有问题的程序集?我在 Windows 10 上使用 ISE 和 VS Code 进行了测试。
【问题讨论】:
-
[Windows.Markup.XamlReader]需要PresentationFramework程序集...默认情况下不加载 -
@Avshalom 但是为什么它仍然适用于
Add-Type注释掉? -
您使用的是哪个 powershell 版本?
-
@Avshalom
5.1.19041.1. -
启动一个新的 powershell 窗口并检查已经加载了哪些程序集:
[System.AppDomain]::CurrentDomain.GetAssemblies() | ? Location | Select Name, Location, Version
标签: wpf powershell add-type