2017-07-12 6 views
0

.csprojファイルから<ItemGroup>要素を削除しようとしましたが、スクリプトで何も実行されません。私は間違って何をしていますか?PowerShellでcsprojの要素を削除する方法

スクリプト:

[xml]$csproj = Get-Content -Path ".\PackageTest.csproj" 

$refs = $csproj.Project.ItemGroup | Where-Object {$_.Content.Include -like "PkgFolder\managed*"} 

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="PkgFolder\managed1.zip"> 
     <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
    </Content> 
    </ItemGroup>  
    <ItemGroup> 
    <Content Include="PkgFolder\managed2.zip"> 
     <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
    </Content> 
    </ItemGroup>  
    <ItemGroup> 
    <Content Include="PkgFolder\managed3.zip"> 
     <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
    </Content> 
    </ItemGroup>   
# 
# smthng 
#    
</Project> 

答えて

0

まず:

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

第二:

$csproj.Save($file.FullName) 
関連する問題