我目前移植现有的跨平台框架到Windows Phone 8。构建Windows 8 Phone应用程序的命令行
构建过程是完全自动的,我们使用的是坚如磐石的CI系统。
我可以从Visual Studio(Express 2012), 构建和部署Windows Phone 8示例,但现在我需要将它集成到我们的构建脚本中。
有没有人通过命令行成功构建(并部署)Win Phone 8应用程序? (或蚂蚁,制造,scons,不管...)
如果是的话,怎么样?
欢迎任何提示。
我目前移植现有的跨平台框架到Windows Phone 8。构建Windows 8 Phone应用程序的命令行
构建过程是完全自动的,我们使用的是坚如磐石的CI系统。
我可以从Visual Studio(Express 2012), 构建和部署Windows Phone 8示例,但现在我需要将它集成到我们的构建脚本中。
有没有人通过命令行成功构建(并部署)Win Phone 8应用程序? (或蚂蚁,制造,scons,不管...)
如果是的话,怎么样?
欢迎任何提示。
我用下面的bat文件来构建WP7代码(在它上面加上+ ant自动化)。这可能对您有所帮助。
的build.bat
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe build.xml /t:BuildAndCopy /p:Revision=123
其中的build.xml是一样的东西(自身建设BuildAll目标下进入)
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="C:\Program Files (x86)\MSBuild\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>
<PropertyGroup>
<Major>1</Major>
<Minor>0</Minor>
<Build>0</Build>
<Revision>x</Revision>
<OutputPath>Build\</OutputPath>
<OutputPathDebug>..\Build\Debug\</OutputPathDebug>
<OutputPathRelease>..\Build\</OutputPathRelease>
</PropertyGroup>
<Target Name="BuildAll" DependsOnTargets="Clean; Version">
<msbuild Projects="SomeApp.sln" Properties="Configuration=Release;OutputPath=$(OutputPathRelease)"/>
<msbuild Projects="SomeApp.sln" Properties="Configuration=Debug;OutputPath=$(OutputPathDebug)"/>
</Target>
<Target Name="Clean">
<RemoveDir Directories="$(OutputPath)" Condition="Exists('$(OutputPath)')"/>
<MakeDir Directories="$(OutputPath)" Condition="!Exists('$(OutputPath)')"/>
</Target>
<Target Name="Version">
<Message Text="Version: $(Major).$(Minor).$(Build).$(Revision)"/>
<XmlUpdate
Namespace=""
XmlFileName="WindowsPhone\Properties\WMAppManifest.xml"
XPath="//App[@Version]//@Version"
Value="$(Major).$(Minor).$(Build).$(Revision)"/>
</Target>
<ItemGroup>
<AppFiles Include="$(OutputPath)\**\*.xap"/>
</ItemGroup>
<Target Name="BuildAndCopy" DependsOnTargets="BuildAll">
<Copy
SourceFiles="@(AppFiles)"
DestinationFiles="@(AppFiles->'\\fs\Public\projects\mobile\SomeAppWP\$(Major).$(Minor).$(Build).$(Revision)\%(RecursiveDir)%(Filename)%(Extension)')"
/>
<Copy
SourceFiles="@(AppFiles)"
DestinationFiles="@(AppFiles->'\\fs\Public\projects\mobile\SomeAppWP\latest\%(RecursiveDir)%(Filename)%(Extension)')"
/>
</Target>
</Project>
感谢谢尔盖的MSBuild.exe暗示我能通过命令行构建一个简单的示例。
https://github.com/AndreasOM/wp8-directx-commandline
有包括一个运行build.bat,这应该足以让你开始与您所选择的构建系统建立“的Windows Phone 8”。
这是相当hacky, 但一旦我得到当前的项目完成 我会清理它。
提示: 用 “CL.EXE” 工作时决不限定 “CL” 环境变量;)
你把它清理干净了吗? –
我不再做WP8开发,不再有Windows系统,所以我很抱歉,但我无法再测试这个:( – Andreas
它应该是容易的。我假设你有如下的文件结构
$/WP8App/SampleApp.sln
你将不得不在项目中使用的路径和解决方案文件。请执行下列步骤,并确保更新解决方案文件和路径:
%VS110COMNTOOLS%vsvars32.bat
%VS110COMNTOOLS%..\..\VC\WPSDK\WP80\vcvarsphoneall.bat
MSBuild "WP8App/SampleApp.sln" /t:rebuild /p:Configuration=Release /p:Platform="Any CPU" /v:d
请通知:
祝你好运, 香草
谢谢, 这仍是使用Visual Studio(又名的MSBuild)系统建设项目, 但它显示颁发,所有的(子)命令,包括完整的命令行,这非常有用。 会看到它给我多远。 – Andreas