1

MicrosoftのWHCK2.0APIで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]"

このコードを実行すると、次のエラーが発生します。

"New-Object:タイプが見つかりません:[System.Collections.Generic.List`1 [Microsoft.Windows.Kits.Hardware.ObjectModel.Target]]:このタイプを含むアセンブリがロードされていることを確認してください。"

CurrentDomain.getAssemblies()メソッドを使用して、aseembliesが正しくロードされていることを確認しました。また、タイプ「Microsoft.Windows.Kits.Hardware.ObjectModel.Target」が「Microsoft.Windows.Kits.Hardware.ObjectModel.dll」アセンブリに次のように存在することを確認しました。

$ObjectModel.GetTypes() | % { 
      if($_.FullName -eq "Microsoft.Windows.Kits.Hardware.ObjectModel.Target")
      { 
          $found=1
      }
}

もう1つ言及したいのは、「Microsoft.Windows.Kits.Hardware.ObjectModel.Target」というこの型/クラスは抽象クラスです。

私はたくさん検索しましたが、このエラーを取り除く正しい方法を見つけることができませんでした。このエラーを克服するために提案し、助けてください。

4

1 に答える 1

1

これを試して:

$List = New-Object 'System.Collections.Generic.List[Microsoft.Windows.Kits.Hardware.ObjectModel.Target]'
于 2012-11-09T09:48:35.487 に答える