gpt4 book ai didi

Xml 命名空间和 C# csproj

转载 作者:数据小太阳 更新时间:2023-10-29 01:42:54 27 4
gpt4 key购买 nike

我正在使用 powershell 2.0 编辑大量 csproj 文件。编辑的要求之一是添加具有不同条件的新 PropertyGroup(请查看下面的示例)

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'My-New-Env|AnyCPU'">

问题是 powershell 为我添加的所有新 PropertyGroup 标签添加了空的 xmlns。

例如:

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'My-New-Env|AnyCPU'" xmlns="">

有没有办法在没有命名空间的情况下添加新的 xml 节点?

在添加新的 PropertyGroup 之前,我尝试使用下面的代码删除 namespace 属性,但没有成功。 (这意味着该属性实际上并没有被删除,添加新节点后我仍然可以看到空的命名空间。)

$content = [xml](gc $_.FullName);     

Write-Host "Reading "$_.FullName -foregroundcolor yellow;

$project = $content.Project;

$content.Project.RemoveAttribute("xmlns");

编辑:我正在关注此帖子以添加新节点。

How to add new PropertyGroup to csproj from powershell

例子:

$content = [xml](gc $_.FullName); 
$importNode = $content.ImportNode($configs.DocumentElement, $true)
$project = $content.Project;
$project
$project.AppendChild($importNode);
# $content.Save($_.FullName);

最佳答案

查看此线程:http://bytes.com/topic/net/answers/377888-importing-nodes-without-namespace ,这似乎不容易完成,但您可以使用解决方法:

代替:

$content.Save($_.FullName);

使用:

$content = [xml] $content.OuterXml.Replace(" xmlns=`"`"", "")
$content.Save($_.FullName);

关于Xml 命名空间和 C# csproj,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10308598/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com