我正在使用Powershell来操作WPF数据网格。 我正在尝试添加一个数据网格组合框列,我必须加载这个程序集 [System.Reflection.Assembly]::LoadWithPartialName("System.windows.controls"( |出空
但是,它一直给我一个错误
我不确定我是否以错误的方式加载了这个程序集。 你能帮忙吗?
谢谢
看起来您正在尝试加载命名空间,而您应该尝试加载包含命名空间的程序集。
System.Windows.Controls
是PresentationFramewkork.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