0

インストール中にプロジェクトXMLにいくつかのMSBuildエントリを追加するNugetパッケージがあります。これは正常に機能し、(他のエントリの中でも)次のようになります。

<PropertyGroup>
    <JsCompilationToolsPath>some/path/determined/at/runtime</JsCompilationToolsPath>
</PropertyGroup>

ただし、アンインストール中にプロパティ(およびその結果のグループ要素)を削除するのに問題があります。私のPowerShell-fuにはまだまだ多くの要望がありますが、これまでにいくつかのアプローチを試しました。

  1. JsCompilationToolsPath;という名前のProperty要素が少なくとも1つあるすべてのPropertyGroup要素を削除します。
  2. 名前の付いたすべてのProperty要素JsCompilationToolsPathを削除してから、子要素を持たないすべてのPropertyGroup要素を削除します。
  3. 名前付きプロパティオブジェクトを削除するだけです。

後者の試みは次のとおりです。

$msBuildProject.Properties | Where-Object { $_.Name -eq "JsCompilationToolsPath" } | ForEach-Object { $msBuildProject.RemoveProperty($_) }

どのアプローチも効果はありません。スクリプトはエラーなしで実行されますが、プロパティ要素は削除されません。

PowerShellを介してMSBuildプロパティを削除する正しい方法は何ですか?

4

1 に答える 1