我正在使用powershell 2.0編輯大量的csproj文件。一個編輯的要求是增加不同條件的新的PropertyGroup(請查看下面的例子)Xml命名空間和C#csproj
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'My-New-Env|AnyCPU'">
的問題是,PowerShell中添加了空的xmlns對於我已將所有新的PropertyGroup標籤。
如:
<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);
請添加要使用添加節點的代碼。 – 2012-04-25 03:00:13
@安迪謝謝.i添加了代碼ady。 – 2012-04-25 07:01:49
這是同一個問題:http://social.technet.microsoft.com/Forums/en-US/winserverpowershell/thread/39af0a88-fedd-46d5-baea-12f8b2cfdacd(並且底層問題是:理解XML名稱空間)。 – Richard 2012-05-04 10:59:56