WMappManifest.xml 这个档案是记录了应用程式的相关属性描述,以及定义应用程式的功能性;如果您打开这个档案来看,会大致像下面这样的内容(笔者仅节录部分内容)
<?xml version="1.0" encoding="utf-8"?>
<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2009/deployment" AppPlatformVersion="7.0">
<App xmlns="" ProductID="{feff9099-9381-47fc-a91c-f64afe941b60}" Title="InputScopeDemo" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal"
Author="InputScopeDemo author " Description="Sample description" Publisher="InputScopeDemo">
<IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath>
<Capabilities>
<Capability Name="ID_CAP_GAMERSERVICES"/>
<Capability Name="ID_CAP_IDENTITY_DEVICE"/>
<Capability Name="ID_CAP_IDENTITY_USER"/>
<Capability Name="ID_CAP_LOCATION"/>
<Capability Name="ID_CAP_MEDIALIB"/>
<Capability Name="ID_CAP_MICROPHONE"/>
<Capability Name="ID_CAP_NETWORKING"/>
<Capability Name="ID_CAP_PHONEDIALER"/>
<Capability Name="ID_CAP_PUSH_NOTIFICATION"/>
<Capability Name="ID_CAP_SENSORS"/>
<Capability Name="ID_CAP_WEBBROWSERCOMPONENT"/>
相信您也可以概略的看出这个档案的用途,在一开始(App 标签的部分) 是专案相关的属性,相关的说明如下
• ProductID:代表应用程式的GUID 字串列表
• RuntimeType:设定应用程式是Silverlight 或是XNA 的类
• Title:专案的预设名称,这里的文字也会显示在应用程式清单
• 型
• Version:应用程式的版本编号
• Genre:当应用程式为Silverlight 时会为apps.normal,apps.game 则为XNA
• Author:作者名称
• Description:应用程式的描述 (说明)
• Publisher:这个值预设会是专案的名称,当您的应用程式有使用到Push 的相关功能,这个值是一定要有的
接下来是<Capabilities> 相关的区块,在这个区块中则是描述了应用能够使用的功能性,例如能不能使用网路的功能或是存取媒体柜(Media library) 的内容;在一般的情形下,
我们是不需要去修改到这个部分的,假设当你移除了某些功能,例如说移除了WebBrowser 的部分
<Capability Name="ID_CAP_WEBBROWSERCOMPONENT" />
那么当你在程式码中有使用到WebBrowser 相关的功能时,程式便会出错了,而unhandle exception 在Silverlight for Windows Phone 中是会直接关闭应用程式的。
再往下看会看到Task的标签,一般来说会像是下面这样
<Tasks>
<DefaultTask Name ="_default" NavigationPage="MainPage.xaml"/>
</Tasks>
这个是应用程式内部使用的,一般来说也不会去修改到,不过可以留意一下NavigationPage 的部分,假设你的起始页面(第一个显示的Page) 名称不是MainPage 的话,可以在这边做对应的修改。
再往下是 Token 的部分,例如下面
<Tokens>
<PrimaryToken TokenID="TestToken" TaskName="_default">
<TemplateType5>
<BackgroundImageURI IsRelative="true" IsResource="false">Background.png</BackgroundImageURI>
<Count>0</Count>
<Title>Test</Title>
</TemplateType5>
</PrimaryToken>
</Tokens>
这边是设定当你的应用程式加到Tile (也就是首页的地方) 之后相关的设定;要特别注意TaskName 这个地方的设定是在Tile点下你的应用程式之后,会去启动应用程式的相关设定,跟上面提到<Tasks> 中Name 的属性是有相对应的关系的。
BackgroundImageURI 是当你的应用程式锚定到首页(Pin to Start) 之后的背景图案,用下面这张图来看会比较清楚
而 <Count> 的标签是做什么用途的呢?也直接来看一下图的效果,下面是Count 设定为0 跟Count 设定为5 时的分别