2016-03-12 3 views
0

J'ai besoin de modifier mon manifeste d'application dans le processus de construction de l'application et j'essaie d'utiliser un MSBuildCommunityTasks pour cela. Cibler ce que j'utilise ressemble:XPath incorrect pour Package.appxmanifest (XML)

<XmlUpdate 
     Namespace="" 
     XmlFileName="$(ManifestFile)" 
     XPath="//Identity[@Version]/@Version" 
     Value="$(App_Version).$(Revision)"/> 

Mais lorsque le processus de construction commencer je reçois seulement ceci:

Updating Xml Document "Package.appxmanifest". 0 node(s) selected for update. 

Mon XPath est faux. J'essaie d'utiliser des validateurs XPath en temps réel, mais je ne peux pas choisir l'expression XPath correcte pour ce fichier, j'ai besoin d'aide pour cela.

Mon fichier manifeste:

<?xml version="1.0" encoding="utf-8"?> 
<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest" xmlns:m3="http://schemas.microsoft.com/appx/2014/manifest" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"> 
    <Identity Name="1234567890" Publisher="12345678" Version="9.9.9.999" /> 
    <mp:PhoneIdentity PhoneProductId="123456789" PhonePublisherId="1234567890" /> 
    <Properties> 
    <DisplayName>Name</DisplayName> 
    <PublisherDisplayName>PlaceHolder</PublisherDisplayName> 
    <Logo>Assets\StoreLogo.png</Logo> 
    </Properties> 
    <Prerequisites> 
    <OSMinVersion>6.3.1</OSMinVersion> 
    <OSMaxVersionTested>6.3.1</OSMaxVersionTested> 
    </Prerequisites> 
    <Resources> 
    <Resource Language="x-generate" /> 
    </Resources> 
    <Applications> 
    <Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="DT.PlaceHolder.WP.App"> 
     <m3:VisualElements DisplayName="PlaceHolder" Square150x150Logo="Assets\Logo.png" Square44x44Logo="Assets\SmallLogo.png" Description="PlaceHolder" ForegroundText="light" BackgroundColor="transparent"> 
     <m3:DefaultTile Wide310x150Logo="Assets\WideLogo.png" Square71x71Logo="Assets\Square71x71Logo.png"></m3:DefaultTile> 
     <m3:SplashScreen Image="Assets\SplashScreen.png" /> 
     </m3:VisualElements> 
    </Application> 
    </Applications> 
    <Capabilities> 
    <Capability Name="internetClientServer" /> 
    <DeviceCapability Name="location" /> 
    </Capabilities> 
</Package> 

Répondre

0

J'ai trouvé une solution. Cela fonctionne pour moi:

<XmlUpdate 
     Namespace="" 
     XmlFileName="$(ManifestFile)" 
     XPath="//*[local-name()='Identity']/@Version" 
     Value="$(App_Version).$(Revision)"/>