Xml命名空间和C#csproj

前端之家收集整理的这篇文章主要介绍了Xml命名空间和C#csproj前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用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);

猜你在找的XML相关文章