2017-08-25 67 views
-3

我正在使用Powershell來操作WPF數據網格。 我想添加一個DataGridComboBoxColumn,我必須加載這個程序集 [System.Reflection.Assembly] :: LoadWithPartialName(「System.windows.controls」)|外空Powershell [System.Reflection.Assembly] :: LoadWithPartialName(「System.Windows.controls」)未加載

但是,它不斷給我一個錯誤

我不知道如果我加載該組件的錯誤的方式。 可以請你協助嗎?

謝謝

+0

你得到的錯誤是什麼? – ArcSet

回答

0

它看起來像你試圖加載時,你應該改爲嘗試加載包含命名空間中的組件的命名空間。

System.Windows.Controls是內PresentationFramewkork.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 
... 
0

井已經裝好。

嘗試運行此操作。

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

如果您得到任何結果,它已被加載。

你正在加載的程序集實際上就是PresentationFramework.dll的一部分