Tôi đang sử dụng PowerShell 2.0 để chỉnh sửa nhiều tệp csproj. Một trong những yêu cầu để chỉnh sửa là thêm PropertyGroup mới với điều kiện khác nhau (Vui lòng kiểm tra ví dụ dưới đây)Không gian tên Xml và C# csproj
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'My-New-Env|AnyCPU'">
Vấn đề là PowerShell thêm xmlns trống cho tất cả các thẻ PropertyGroup mới mà tôi đã thêm.
Ví dụ:
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'My-New-Env|AnyCPU'" xmlns="">
Có cách nào để thêm nút xml mới mà không có bất kỳ không gian tên?
Tôi đã thử xóa thuộc tính không gian tên bằng cách sử dụng mã bên dưới trước khi thêm Nhóm sản phẩm mới nhưng không hoạt động. (Nghĩa là thuộc tính không thực sự loại bỏ và tôi vẫn có thể nhìn thấy không gian tên rỗng sau khi thêm nút mới.)
$content = [xml](gc $_.FullName);
Write-Host "Reading "$_.FullName -foregroundcolor yellow;
$project = $content.Project;
$content.Project.RemoveAttribute("xmlns");
Edit: tôi sau bài này để thêm nút mới.
How to add new PropertyGroup to csproj from powershell
Ví dụ:
$content = [xml](gc $_.FullName);
$importNode = $content.ImportNode($configs.DocumentElement, $true)
$project = $content.Project;
$project
$project.AppendChild($importNode);
# $content.Save($_.FullName);
Vui lòng thêm mã bạn đang sử dụng để thêm các nút. –
@Andy thanks .i đã thêm mã ady. –
Đây là cùng một câu hỏi: http://social.technet.microsoft.com/Forums/en-US/winserverpowershell/thread/39af0a88-fedd-46d5-baea-12f8b2cfdacd (và vấn đề cơ bản là: hiểu các không gian tên XML). – Richard