2010-04-22 75 views

回答

44

XmlPeek任务仅适用于MSBuild中的.NET 4。因此,您需要使用MSBuild v4.0并在您的msbuild文件中指定您正在使用的工具版本

这里是一个示例项目文件,我们正在寻找消息节点。

<Target Name="TestXmlPeek"> 
    <XmlPeek Namespaces="&lt;Namespace Prefix='msb' Uri='http://schemas.microsoft.com/developer/msbuild/2003'/&gt;" 
      XmlInputPath="$(MSBuildProjectFile)" 
      Query="/msb:Project/msb:Target[@Name='TestXmlPeek']/msb:Message"> 
     <Output TaskParameter="Result" ItemName="Peeked" /> 
    </XmlPeek> 

    <Message Text="@(Peeked)"/> 
    </Target> 
</Project> 
+1

谢谢madgnome!在将ToolVersion = 4.0放入Project标签后,它现在可以工作。奇怪的是,我默认运行MSBuild引擎版本4.0.30319.1,但这个“更高版本”不支持XmlPeek! – 2010-04-27 08:30:52