Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6661982
  • 博文数量: 915
  • 博客积分: 17977
  • 博客等级: 上将
  • 技术积分: 8846
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-26 09:59
个人简介

一个好老好老的老程序员了。

文章分类

全部博文(915)

文章存档

2022年(9)

2021年(13)

2020年(10)

2019年(40)

2018年(88)

2017年(130)

2015年(5)

2014年(12)

2013年(41)

2012年(36)

2011年(272)

2010年(1)

2009年(53)

2008年(65)

2007年(47)

2006年(81)

2005年(12)

分类: Android平台

2017-10-12 20:43:51

探索Xamarin.Forms(并在代码中变得更加舒适)的一个很好的方法是克隆存储库并运行它,特别是任何ControlGallery项目。 我们知道您中有许多人已经做到了这一点,所以您可以采取的下一步是为XAMarin.Forms进行自己的定制,以便在组织内构建和分发您自己的NuGet软件包。 在这篇文章中,让我们在本地进行一下,然后讨论如何在Visual Studio Team Services(VSTS)上进行配置。

本地设置

Windows构建所有

构建Xamarin.Forms Nuget本地最容易在Windows机器上完成。 如果您包括即将推迟使用的Windows Phone 8和8.1,或者您可以使用Visual Studio 2017,您将需要使用Visual Studio 2015。构建非常简单:

  1. 选择Debug或者Release

  2. 右键单击解决方案,然后选择构建。

我可以听到你问:“但是Mac的主机呢,我需要一个吗?”因为我第一次问了同样的问题。 因为我们正在生成一个NuGet而不是一个iOS或Mac应用程序,我们不需要Mac构建主机。 我们正在建立针对Xamarin和Windows框架SDK。

解决方案成功完成后,您应该生成用于在IDE中显示文档的xml。 现在,您已准备好将新制作的程序集打包成NuGet程序包。 为了实现这一点,我们有一个方便的create-nuget.bat脚本,您可以从命令行按名称执行。

点击(此处)折叠或打开

  1. if "%DEBUG_VERSION%"=="" set DEBUG_VERSION=0
  2.     set /a DEBUG_VERSION=%DEBUG_VERSION%+1
  3.     pushd docs
  4.     ..\tools\mdoc\mdoc.exe export-msxdoc -o Xamarin.Forms.Core.xml Xamarin.Forms.Core
  5.     ..\tools\mdoc\mdoc.exe export-msxdoc -o Xamarin.Forms.Xaml.xml Xamarin.Forms.Xaml
  6.     ..\tools\mdoc\mdoc.exe export-msxdoc -o Xamarin.Forms.Maps.xml Xamarin.Forms.Maps
  7.     popd
  8.     pushd .nuspec
  9.     ..\.nuget\NuGet.exe pack Xamarin.Forms.nuspec -properties configuration=debug;platform=anycpu -Version 9.9.%DEBUG_VERSION%
  10.     popd

您可以直接更新,以使用您选择的版本和构建配置。 注意,当前脚本设置为期望调试配置。 另外,请注意文档正在被更新,然后生成NuGet。

完成后,NuGet软件包将在您的根目录中。

在OS X上生成

虽然您可以在Mac上构建Xamarin.Forms,但我不推荐它。 您马上必须修剪所有的Windows目标,这意味着你创建的任何NuGet只能在iOS,Android和Mac上工作。 如果你在Mac上,不能在Windows机器上构建,那么在VSTS上建立就是为您而设的!

在VSTS上云构建

Visual Studio团队服务提供了丰富的任务来创建一个非常灵活的构建解决方案,并为我们的需求:

  • 获取Xamarin.Forms源

  • 恢复NuGet软件包

  • 构建解决方案

  • 生成文档

  • 打包NuGet

  • 发布

听起来很容易,对吧?

首先,我们需要一个关于VSTS的项目。 从您的VSTS目标网页单击新建项目并填写您的首选项。 一旦创建,请转到该项目的“构建和发布”选项卡。 创建一个新的Build定义并开始添加这些任务!

获取Xamarin.Form源码

VSTS为各种常见场景提供了模板,但我们将从一个空进程开始。 对于“默认代理队列”,选择托管。

为我们提供了一个任务,那就是获取资源。 选择该任务并从您要拉出Xamarin.Forms代码的位置进行配置。

  • 项目

  • Github

  • 远程仓库

  • Subversion

恢复NuGet包

像往常一样,在我们可以构建任何解决方案,包括Xamarin.Forms之前,你想确保任何NuGet依赖关系已被恢复。 Visual Studio在本地运行构建时默认为此做。

单击添加任务并添加“NuGet”任务。 在任务的版本下拉菜单中更改为0. *。 这提供了更容易地自定义NuGet参数的功能。 对于“解决路径”,输入“Xamarin.Forms.sln”,因为它位于存储库的根目录。

确保“安装类型”设置为还原。

包括这些参数:

-source ""

构建解决方案

现在我们已经准备好构建解决方案了。 添加另一个任务,此时选择“Visual Studio Build”。 再次指出“Xamarin.Forms.sln”。 根据您要在“平台和配置”字段中构建的内容,添加可以更改的变量。

Platform: $(BuildPlatform)
Configuration: $(BuildConfiguration)

当您稍后启动构建时,这些将是您可以设置的选项。

选中Clean复选框

生成文档

构建IDE所需的所有适当的xml文件以显示文档。 为此,您将需要一个批处理脚本和三个命令行任务。 您已经掌握了查找任务并将其添加到该过程中,所以让我们放弃重复。 以下是这些任务的设置。

Batch Script
Display Name: Update XML Documentation
Path: update-docs-windows.bat

Command Line
Display Name: Generate XML Documentation (Core)
Tool: $(Build.SourcesDirectory)\tools\mdoc\mdoc.exe
Arguments: export-msxdoc -o Xamarin.Forms.Core.xml Xamarin.Forms.Core
Working Folder: docs

Command Line
Display Name: Generate XML Documentation (XAML)
Tool: $(Build.SourcesDirectory)\tools\mdoc\mdoc.exe
Arguments: export-msxdoc -o Xamarin.Forms.Xaml.xml Xamarin.Forms.Xaml
Working Folder: docs

Command Line
Display Name: Generate XML Documentation (XAML)
Tool: $(Build.SourcesDirectory)\tools\mdoc\mdoc.exe
Arguments: export-msxdoc -o Xamarin.Forms.Maps.xml Xamarin.Forms.Maps
Working Folder: docs

打包NuGet

最后,你一直在等待如此耐心的步骤! 添加“NuGet Packager”任务并对其进行配置。

Version 0.*
Patch to the nuspec: .nuspec/Xamarin.Forms.nuspec
Configuration to Package: $(BuildConfiguration)
Addition build properties: IdAppend=.Custom

发布NuGet

也许你想发布给你控制的MyGet Feed。 你可以在这里做。 为了简单起见,我们将该包放在VSTS项目的文件夹中。 添加发布构建工件的任务。

获得构建

保存并排队您的构建。 从“构建”选项卡,您可以访问构建历史记录,查看您的工作状态,任何错误等。

准备.设置.生成

现在,您将全部构建Xamarin.Forms并在您自己的组织内分发! 如果您还没有VSTS帐户,请注册免费开始使用。 当然,如果您正在修复或定制每个人都可以从中受益,请在GitHub上打开一个请求并分享爱情。

阅读(4638) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~