如何使用PowerShell删除csproj中的元素



我尝试从.csproj文件中删除<ItemGroup>元素,但我的脚本什么也没做。我做错了什么?

脚本:

[xml]$csproj = Get-Content -Path ".PackageTest.csproj"
$refs = $csproj.Project.ItemGroup | Where-Object {$_.Content.Include -like "PkgFoldermanaged*"} 
ForEach($ref in $refs)
{
$csproj.Project.RemoveChild($ref)
}
$csproj.Save(".PackageTest.csproj") 

我的csproj文件:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
#
# smthng
#      
<ItemGroup>
<Content Include="PkgFoldermanaged1.zip">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>      
<ItemGroup>
<Content Include="PkgFoldermanaged2.zip">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>      
<ItemGroup>
<Content Include="PkgFoldermanaged3.zip">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>         
#
# smthng
#            
</Project>

首先:

$file = gi ".PackageTest.csproj"
[xml]$csproj = Get-Content $file

第二:

$csproj.Save($file.FullName) 

最新更新