Powershell [System.Reflection.Assembly]::LoadWithPartialName( "System.Windows.controls" ) 未加载



我正在使用Powershell来操作WPF数据网格。 我正在尝试添加一个数据网格组合框列,我必须加载这个程序集 [System.Reflection.Assembly]::LoadWithPartialName("System.windows.controls"( |出空

但是,它一直给我一个错误

我不确定我是否以错误的方式加载了这个程序集。 你能帮忙吗?

谢谢

看起来您正在尝试加载命名空间,而您应该尝试加载包含命名空间的程序集。

System.Windows.ControlsPresentationFramewkork.dll中的命名空间

您可以尝试加载PresentationFramework吗?

PS> [System.Reflection.Assembly]::LoadWithPartialName("PresentationFramework")
GAC    Version        Location
---    -------        --------
True   v4.0.30319     C:WINDOWSMicrosoft.NetassemblyGAC_MSILPresentationFrameworkv4.0_4.0....
PS> $object = [System.Windows.Controls.Control]
PS> $object.GetMembers()
Name                       : get_BorderBrush
DeclaringType              : System.Windows.Controls.Control
ReflectedType              : System.Windows.Controls.Control
MemberType                 : Method
MetadataToken              : 100680700
Module                     : PresentationFramework.dll
...

Wells 它已经加载了。

尝试运行此程序。

$ExportedTypes = [appdomain]::CurrentDomain.GetAssemblies() | select ExportedTypes
Foreach($ExportedType in $ExportedTypes){
$ExportedType.ExportedTypes | ?{$_.FullName -like "system.windows.controls*"} | select FullName, Module
}

如果您得到任何结果,它已经加载。

您正在加载的程序集实际上是 Presentation Framework 的一部分.dll

最新更新