我有这段代码:
function setupProject($projectFile) {
[xml]$root = Get-Content $projectFile;
$project = $root.Project;
$beforeBuild = $root.CreateElement("Target", "");
$beforeBuild.SetAttribute("name", "BeforeBuild");
$beforeBuild.RemoveAttribute("xmlns");
$project.AppendChild($beforeBuild);
$root.Save($projectFile);
}
它应该在XML文档中添加一个新的<Target name="BeforeBuild" />
。
但是它还会添加一个空的xmlns=""
属性,我不想要它。
(实际上是Visual Studio不喜欢这个属性!)
<Target name="BeforeBuild" xmlns="" />
我已经尝试过这段代码:
$beforeBuild.RemoveAttribute("xmlns");
$project.AppendChild($beforeBuild);
$beforeBuild.RemoveAttribute("xmlns");
<Project>
有一个:xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
。那么我应该将这个值传递给CreateElement()
吗? - ComFreek