我正在 Microsoft WHCK 2.0 API 上编写一个 powershell 脚本。我来自 perl 背景,所以对 powershell 或 c# 了解不多。
好吧,我的代码是:
$ObjectModel = [Reflection.Assembly]::LoadFrom($env:WTTSTDIO + "microsoft.windows.Kits.Hardware.objectmodel.dll")
$DbConnection = [Reflection.Assembly]::LoadFrom($env:WTTSTDIO + "microsoft.windows.Kits.Hardware.objectmodel.dbconnection.dll")
$Submission = [Reflection.Assembly]::LoadFrom($env:WTTSTDIO + "microsoft.windows.Kits.Hardware.objectmodel.submission.dll")
稍晚一点。
$List = New-Object "System.Collections.Generic.List``1[Microsoft.Windows.Kits.Hardware.ObjectModel.Target]"
当我运行此代码时,它会产生此错误:
“新对象:找不到类型:[System.Collections.Generic.List`1[Microsoft.Windows.Kits.Hardware.ObjectModel.Target]]:确保已加载包含此类型的组件。”
我已经使用 CurrentDomain.getAssemblies() 方法验证了组件是否正确加载。我还验证了“Microsoft.Windows.Kits.Hardware.ObjectModel.dll”程序集中存在“Microsoft.Windows.Kits.Hardware.ObjectModel.Target”类型,如下所示:
$ObjectModel.GetTypes() | % {
if($_.FullName -eq "Microsoft.Windows.Kits.Hardware.ObjectModel.Target")
{
$found=1
}
}
还有一件事我想提一下,“Microsoft.Windows.Kits.Hardware.ObjectModel.Target”这个类型/类是一个抽象类。
我进行了很多搜索,但无法找到摆脱此错误的正确方法。请提出建议并帮助克服此错误。