Xml命名空间和C#csproj
发布时间:2020-12-16 23:50:56 所属栏目:百科 来源:网络整理
导读:我使用power shell 2.0来编辑很多csproj文件.编辑的一个要求是添加不同条件的新PropertyGroup(请检查下面的例子) PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'My-New-Env|AnyCPU'" 问题是,PowerShell为我添加的所有新的PropertyGroup标签
我使用power
shell 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之前使用下面的代码删除命名空间属性,但是它不起作用. (意思是该属性实际上没有被删除,并且在添加新节点后仍然可以看到空的名称空间.) $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); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |