0
我有一个Nuget包,它在安装过程中将一些MSBuild条目添加到项目XML中。这工作得很好,产生以下(其他项中):在Nuget中删除PropertyGroup uninstall.ps1
<PropertyGroup>
<JsCompilationToolsPath>some/path/determined/at/runtime</JsCompilationToolsPath>
</PropertyGroup>
但是,我无法卸载过程中移除属性(及其导致的组元素)。我PowerShell的复极不理想很多,但到目前为止,我已经尝试了几种方法:
- 删除其中至少有一个属性元素命名为
JsCompilationToolsPath
所有的PropertyGroup元素; - 删除名为
JsCompilationToolsPath
的所有属性元素,然后删除没有子元素的所有PropertyGroup元素; - 只需删除指定的Property对象。
这里是后者的尝试:
$msBuildProject.Properties | Where-Object { $_.Name -eq "JsCompilationToolsPath" } | ForEach-Object { $msBuildProject.RemoveProperty($_) }
的方法都没有任何影响;脚本运行时没有错误,但属性元素不会被删除。
什么是通过PowerShell删除MSBuild属性的正确方法?