我正在使用PowerShell 2.0编辑许多csproj文件。其中一个编辑要求是添加带有不同条件的新PropertyGroup(请参考以下示例)。
问题在于powershell为我添加的所有新PropertyGroup标签都添加了空xmlns。 例如:
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'My-New-Env|AnyCPU'">
问题在于powershell为我添加的所有新PropertyGroup标签都添加了空xmlns。 例如:
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'My-New-Env|AnyCPU'" xmlns="">
有没有办法在不使用命名空间的情况下添加新的xml节点?
我尝试在添加新的PropertyGroup之前使用以下代码删除命名空间属性,但它没有起作用。(这意味着该属性实际上并未被移除,在添加新节点后仍然可以看到空的命名空间。)
$content = [xml](gc $_.FullName);
Write-Host "Reading "$_.FullName -foregroundcolor yellow;
$project = $content.Project;
$content.Project.RemoveAttribute("xmlns");
编辑:我正在关注这篇文章,以添加新的节点。
如何在PowerShell中向csproj添加新的PropertyGroup
示例:
$content = [xml](gc $_.FullName);
$importNode = $content.ImportNode($configs.DocumentElement, $true)
$project = $content.Project;
$project
$project.AppendChild($importNode);
# $content.Save($_.FullName);