我需要在应用构建过程中更改我的应用清单,并尝试使用MSBuildCommunityTasks。定位我使用的样子:
<XmlUpdate
Namespace=""
XmlFileName="$(ManifestFile)"
XPath="//Identity[@Version]/@Version"
Value="$(App_Version).$(Revision)"/>
但是当构建过程开始时,我只得到这个:
Updating Xml Document "Package.appxmanifest". 0 node(s) selected for update.
我的XPath错了。我尝试使用XPath实时验证器,但我无法为此文件选择正确的XPath表达式,我需要一些帮助。
我的清单文件:
<?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>
答案 0 :(得分:0)
我找到了解决方案。这对我有用:
<XmlUpdate
Namespace=""
XmlFileName="$(ManifestFile)"
XPath="//*[local-name()='Identity']/@Version"
Value="$(App_Version).$(Revision)"/>