2016-07-06 7 views
0

MicrosoftのビルドAPIを使用してPowerShellでインストールスクリプトを作成しようとしています。私はC#で私が何をしたいのかを知っています。私は少しの例を試してみましたが、ほとんどPowerShellで準備しました。私はキー値のペアとして何を記入するかを知る必要があります。powershellで値のキーペアを必要とするAPI関数を使用する方法

C#の:PowerShellで

ProjectItemGroupElement slItemGroup = project.Xml.CreateItemGroupElement(); 
project.Xml.InsertAfterChild(slItemGroup, project.Xml.LastChild); 
List<KeyValuePair<string, string>> metadata = new List<KeyValuePair<string, string>>(); 
var testkvp = new KeyValuePair<string, string>(@"HintPath",@"MyPath"); 
metadata.Add(testkvp); 
slItemGroup.AddItem(@"Reference", @"microsoft.deployment.windowsinstaller", metadata); 

私は働く、限りこのようだが、私は三番目のパラメータを定義する方法は考えています。あなたは私にヒントを与えることができますか?

$itemGroup = $msBuildProj.Xml.CreateItemGroupElement() 
$msBuildProj.Xml.InsertBeforeChild($itemGroup, $myImport) 
$itemGroup.AddItem('Reference', 'Microsoft.Deployment.WindowsInstaller') 
#$itemGroup.AddItem('Reference', 'Microsoft.Deployment.WindowsInstaller', ???) 

答えて

0

私はあなたが欲しいものをかなり確信しているが、このような辞書オブジェクトである:辞書を作成します

$metadata = New-Object 'System.Collections.Generic.Dictionary[String, String]' 
$metadata.add('HintPath','MyPath') 
$itemGroup.AddItem('Reference', 'Microsoft.Deployment.WindowsInstaller', $metadata) 

、キー/値のペアを追加し、アイテムを作成するためにそれを使用しています。

+0

ありがとうございました –

+0

その解決策があなたのために働くならば、将来の回答を探すのに役立つように答えをマークしてください。 – TheMadTechnician

+0

私は今しました...迷惑メールになることは申し訳ありませんが、ボタンがどこにあるかを知るには数分かかりました。 :) 再度、感謝します! –

関連する問題