GAC(64位系统)比较?

时间:2010-03-13 13:06:32

标签: .net powershell

如何使用PowerShell比较64位系统GAC?

参数: 程序集名称 全名 版本

1 个答案:

答案 0 :(得分:3)

不确定您究竟是在追求什么,但如果要比较32位和64位GAC的程序集,请尝试以下方法:

PS> $gac64 = gci C:\Windows\assembly\GAC_64 -r *.dll | 
    select @{n='AQN';e={"$($_), $((Split-Path $_.PSParentPath -leaf) -split '__' -join ', ')"}} | 
    Sort AQN
PS> $gac32 = gci C:\Windows\assembly\GAC_32 -r *.dll | 
    select @{n='AQN';e={"$($_), $((Split-Path $_.PSParentPath -leaf) -split '__' -join ', ')"}} | 
    Sort AQN

PS> diff $gac32 $gac64 -Property AQN

AQN                                                         SideIndicator
---                                                         -------------
Mcx2Dvcs.dll, 6.1.0.0, 31bf3856ad364e35                     =>
Microsoft.MediaCenter.Interop.dll, 6.1.0.0, 31bf3856ad36... =>
Microsoft.MediaCenter.iTV.Media.dll, 6.1.0.0, 31bf3856ad... =>
Microsoft.MediaCenter.Mheg.dll, 6.1.0.0, 31bf3856ad364e35   =>
Microsoft.MediaCenter.Playback.dll, 6.1.0.0, 31bf3856ad3... =>
Microsoft.MediaCenter.TV.Tuners.Interop.dll, 6.1.0.0, 31... =>
Microsoft-Windows-HomeGroupDiagnostic.NetListMgr.Interop... =>
SoapSudsCode.dll, 2.0.0.0, b03f5f7f11d50a3a                 =>
Expression.DevHost.dll, 3.0.0.4000, 31bf3856ad364e35        <=
Expression.DevHost.resources.dll, 3.0.0.4000_en_31bf3856... <=
Microsoft.Expression.Encoder.Api2.dll, 3.0.0.0, 31bf3856... <=
Microsoft.Expression.Encoder.dll, 3.0.0.0, 31bf3856ad364e35 <=

请注意,拆分不是万无一失的(非常天真的impl),但它应该足以比较32位和64位GAC之间的不同。