2010-04-22 11 views

Respuesta

44

La tarea XmlPeek solo está disponible en MSBuild para .NET 4. Por lo tanto, debe utilizar MSBuild v4.0 y especificar en su archivo msbuild la herramienta versión que está utilizando.

Aquí un archivo de proyecto de muestra, donde estamos buscando el nodo de mensaje.

<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

Gracias madgnome! Funciona ahora después de poner ToolVersion = 4.0 en la etiqueta Project. Lo extraño es que estoy ejecutando MSBuild Engine versión 4.0.30319.1 por defecto, pero esta versión "superior" no es compatible con XmlPeek! –

Cuestiones relacionadas