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

时间:2017-08-25 19:52:35

标签: c# wpf powershell .net-assembly

我正在使用Powershell来操作WPF数据网格。 我正在尝试添加DataGridComboBoxColumn,我必须加载此程序集 [System.Reflection.Assembly] :: LoadWithPartialName(“System.windows.controls”)|出空

然而,它一直给我一个错误

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

谢谢

2 个答案:

答案 0 :(得分:0)

当您尝试加载包含命名空间的程序集时,您似乎正在尝试加载命名空间。

System.Windows.ControlsPresentationFramewkork.dll

中的命名空间

您可以尝试加载PresentationFramework吗?

PS> [System.Reflection.Assembly]::LoadWithPartialName("PresentationFramework")

GAC    Version        Location
---    -------        --------
True   v4.0.30319     C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework\v4.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
...

答案 1 :(得分:0)

Wells已经装好了。

尝试运行此功能。

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

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

您正在加载的程序集实际上是PresentationFramework.dll

的一部分