Oli*_*old 11 silverlight visual-studio windows-phone-7
我想发布我的应用程序的不同风格,并希望在手机上显示的应用程序名称中指出这一点.据我所知,Silverlight Phone Apps的名称完全取决于WMAppManifest.xml.因此,我想基于我的构建配置在构建时修改应用程序标题.有什么建议?
Mat*_*cey 13
您可以通过一些T4模板和代码生成来完成此操作(如果您对此不了解,请参阅http://msdn.microsoft.com/en-us/library/bb126445.aspx.)
如果使用调试或发布配置,以下步骤将允许您使用不同的应用程序标题.
拿一份WMAppManifest.xml并重命名为WMAppManifest-base.tt
修改的内容WMAppManifest-base.tt是
<#@ template language="C#" #><#@ output extension=".xml" #><?xml version="1.0"?>
<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2009/deployment" AppPlatformVersion="7.0">
<App xmlns="" ProductID="{4c5315b6-4030-46c5-b5ea-17284d6af0c6}" Title="<#= this.ConfiguredAppTitle #>" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal" Author="WindowsPhoneApplication8 author" Description="Sample description" Publisher="WindowsPhoneApplication8">
<IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath>
<Capabilities>
<Capability Name="ID_CAP_IDENTITY_DEVICE"/>
<Capability Name="ID_CAP_NETWORKING"/>
</Capabilities>
<Tasks>
<DefaultTask Name ="_default" NavigationPage="MainPage.xaml"/>
</Tasks>
<Tokens>
<PrimaryToken TokenID="WindowsPhoneApplication8Token" TaskName="_default">
<TemplateType5>
<BackgroundImageURI IsRelative="true" IsResource="false">Background.png</BackgroundImageURI>
<Count>0</Count>
<Title><#= this.ConfiguredAppTitle #></Title>
</TemplateType5>
</PrimaryToken>
</Tokens>
</App>
</Deployment>
<#+
string ConfiguredAppTitle = "MyPhoneApp";
#>
Run Code Online (Sandbox Code Playgroud)
(视情况调整能力等.)
在与WMAppManifest-base.tt创建Debug.WMAppManifest.tt使用以下内容调用的文件相同的文件夹中:
<#
ConfiguredAppTitle = "MyDebugApp";
#><#@ include file="WMAppManifest-base.tt" #>
Run Code Online (Sandbox Code Playgroud)
现在创建一个Release.WMAppManifest.tt使用以下内容调用的文件:
<#
ConfiguredAppTitle = "MyReleaseApp";
#><#@ include file="WMAppManifest-base.tt" #>
Run Code Online (Sandbox Code Playgroud)
创建copyifnewer.bat在项目根目录中调用的文件.给它以下内容:
echo Comparing: %1 with %2
if not exist %1 goto File1NotFound
if not exist %2 goto File2NotFound
fc %1 %2
if %ERRORLEVEL%==0 GOTO NoCopy
echo Files are not the same. Copying %1 over %2
copy %1 %2 /y & goto END
:NoCopy
echo Files are the same. Did nothing
goto END
:File1NotFound
echo %1 not found.
goto END
:File2NotFound
copy %1 %2 /y
goto END
:END
Run Code Online (Sandbox Code Playgroud)
在项目属性中添加此PRE-build命令:
"$(ProjectDir)\copyifnewer.bat" "$(ProjectDir)properties\$(ConfigurationName).WMAppManifest.xml" "$(ProjectDir)properties\WMAppManifest.xml"
Run Code Online (Sandbox Code Playgroud)
现在,您可以调整调试和发布文件中的值,以根据需要更改标题.
如果您有其他配置,只需创建适当命名的文件(内容与其相同debug.*.tt),它们将自动被选中.
请注意,在测试时,如果您使用一个名称安装应用程序(在模拟器或手机中),则必须将其卸载才能看到应用程序列表中反映的名称更改.
自我注意:必须博客这个.(这真的很强大,但很难弄清楚如何做第一次.)
| 归档时间: |
|
| 查看次数: |
2941 次 |
| 最近记录: |