走进 Visual Studio Mobile Center for Xamarin.Forms
前几篇分别介绍了 Xamarin.Forms 的 MVVM 的 Prism,UITest,Nuint Test,那这样算下来,代码部分基本结构都有了(逻辑就先忽略吧)
那接下来就应该是自动 Build,Test,部署之类的,总之该是朝着 DevOps 的方向前进了,虽然我不能完全搞定
如果所有环境都自己搭建的话,还是很费事的,嗯,关键是我好多细节不会配置,比如写各种 yml 配置,所以我就偷偷懒,直接用 Visual Studio Mobile Center 好了
一、Mobile Center 是什么
看官网介绍,基本就是 DevOps 都可以搞定了,还不用自己搭建环境,关键还支持这么多平台,干嘛不用

二、环境和版本
- Win 10 17017 preview
- VS 2017 15.4.2
- Xamarin.Forms 2.3.4.270
- UITest 2.1.2
三、准备工作
- 项目:还是之前的 SD.Xamarin 项目,大家就自己建一个项目,按照之前的文章搞一下就好了
- Mobile Center:注册一下账号(https://mobile.azure.com/login?original_url=%2Forgs)
二、配置
- 项目部分

如图这里的 1,2,3 项目都需要添加相关的 Nuget 包,搜索 Mobile Center 即可

添加后,再修改下Portable 项目的 App.xaml.cs 文件的构造函数添加相关代码
public App(IPlatformInitializer initializer = null)
: base(initializer)
{
MobileCenter.Start("android=5c81276c-2895-4204-a743-080b1e18ff04;"
+ "ios=d9bb5279-f4b5-4d57-9888-8d6a16dfa690",
//+ "uwp={Your UWP App secret here};"
typeof(Analytics), typeof(Crashes));
}
这里的红色字符是 Mobile Center 创建项目后生成的那个(后边会看到的),Get started 里都给出的,请正确粘贴哦,非最后一个注意后边的分号
- Mobile Center 部分
注册并登录后就是下边这个样子,

然后你可以创建一个组织,也可以直接添加 App ,这里我建了一个 XamarinTest 的组织,并添加了一个 Android 和 IOS 项目

每个项目又有一些设置,具体的可以根据你的需要设置,默认是告诉你怎么开始使用,除了之前添加的 Nuget ,还有和左边菜单项对应的功能,都可以添加相应的 Nuget 来使用

这里选择 Xamarin.Forms 并记住这里提供的 ID 字符串,稍后代码里需要用,当然如果没记也没关系,再去 Setting 里复制一下也可以

这里就是所有的步骤截图了,相应功能的具体说明链接如下
选择一个 App 后会先让你选择代码库,默认是 VSTS 的,我这里选的是 GitHub ,然后选择项目,这样以后提交代码就会自动 Build 和 Test 了

之后就是设置这个 App 的一些参数,根据需要修改就可以了,这是 Build 的一些配置

还有 Test 的配置,这里基本和 Xamarin Test Cloud 差不多了,选择设备什么的

配置 Test 的分支和类别

最后是提交,Build 之后应该是会自动提交的,这里也介绍了手动提交

这是完整的截图,是不是觉的就是 Test Cloud 那一套,所以官方的宣传 Visual Studio Mobile Ceter 是下一代的 Hockey App + Xamarin Test Cloud 一点都没错,会让你很自然的过度过来
这里的命令规则复制下来改成自己的就可以了

自动 Test 就不用管了,这里说下手动上传跑 Test 吧,估计是给不提交代码但是想验证用的吧
1.cmd 打开命令行窗口
2.转到代码所在目录盘符,这里是 E 盘——E:
3.转到代码目录—— cd E:\Code\SD.Xamarin
4.登录 Mobile Center ——mobile-center login
这时会打开浏览器,弹出一个网页,给你一个 Token

此时的命令行会要求你填入这个 Token,然后提示你登录成功

之后就和 Test Cloud 一样了,填入命令就可以了

跑完后就可以去 Mobile Center 看结果了,这里的第二个是我手动上传的,至于时间间隔这么大,就是因为之前命令写错参数了,然后开了个会

具体的信息可以点进去查看

OK ,到这里就完成了 Test 部分,至于其他的 Crashes 和 Analytics 可以添加其他的 Nuget 尝试一下
因为之前的文章都被移除了首页,因为图片太多,这篇应该是最多的了吧,但是没图片会缺少过程,如果你能看到这篇,请手动找一下以前的文章吧,我也无能为力
走进 Visual Studio Mobile Center for Xamarin.Forms的更多相关文章
- [WPF] 使用 Visual Studio App Center 持续监视应用使用情况和问题
1. 什么是AppCenter Visual Studio App Center 是几个常见移动开发和云集成服务(如持续集成.持续交付和自动 UI 测试等服务)的集合. 这些 App Center 服 ...
- Visual Studio App Center 中的 Bug 跟踪服务
我在之前的一篇文章 <使用 Visual Studio App Center 持续监视应用使用情况和问题> 中介绍了 App Center 的基本功能及使用入门,其中 诊断 可以自动手机用 ...
- Xamarin+Prism开发详解三:Visual studio 2017 RC初体验
Visual studio 2017 RC出来一段时间了,最近有时间就想安装试试,随带分享一下安装使用体验. 1,卸载visual studio 2015 虽然可以同时安装visual studio ...
- Visual Studio 2017正式版发布全纪录
又是一年发布季,微软借着Visual Studio品牌20周年之际,于美国太平洋时间2017年3月7日9点召开发布会议,宣布正式发布新一代开发利器Visual Studio 2017.同时发布的还有 ...
- Build 2017 Revisited: .NET, XAML, Visual Studio
For the next couple months we're going to revisit Build 2017, each post focusing on different aspect ...
- Visual Studio 2017RC 版本相关资料
Visual Studio 2017 RC版本说明 1.社区版 Visual Studio Community 2017 RC Visual Studio Community 2017 RC 是针对个 ...
- Visual Studio 2017 针对移动开发的新特性介绍
欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~ Visual Studio是世界上最好的IDE之一,如果是 .NET世界,那就没有之一了(^_^),而最近推出的Visual S ...
- Xamarin.Forms教程开发Xamarin.Forms应用程序需要的工具
开发Xamarin.Forms应用程序需要的工具 Xamarin.Forms教程开发Xamarin.Forms应用程序需要的工具,2014年5月8日在发布的Xamrin 3中引进了Xamarin.Fo ...
- GetBuiltProjectOutputRecursive error running Xamarin Forms iOS on Visual Studio
Seems like I get this weird problem while running Xamarin.iOS on Visual studio. This happened after ...
随机推荐
- 过度拟合(overfilting)
过拟合概念:是指分类器能够百分之百的正确分类样本数据(训练集中的样本数据),对训练集以外的数据却不能够正确分类. 原因:1:模型(算法)太过复杂,比如神经网络,算法太过精细复杂,规则太过严格,以至于任 ...
- servlet生成验证码
1.因为朋友们都说现在很少用java自带的图形用户接口,所以小白的我就没去看awt和swing组件,因为要抓紧时间学习后面的,完了出去找工作,等以后再回来了解awt和swing:所以制作验证码的代码是 ...
- Ubuntu 16.04源码编译安装nginx 1.10.0
一.下载相关的依赖库 pcre 下载地址 http://120.52.73.43/jaist.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.t ...
- Flash与 Javascript 交互
网页加载时立即调用 ExternalInterface.addCallback中定义的函数会失败,放到按键中调用正常. 推测:可能是flash对象加载时间略长,网页加载到js时,flash对象尚未初始 ...
- M-自适应宽高样式
1 绝对定位 position: absolute; top: 0px; bottom: 0px; left: 0px; width: 100%; overflow: hidden;
- ch1-使用路由-静态资源-404页面-ejs模板
1 package.json 项目文件夹根目录创建这个文件 //要依赖的模块 "dependencies": { //dependency 依赖的复数形式 "expres ...
- python之字典
1.用{}创建字典 代码: 1 2 x = {"a":"1", "b":"2"} print x 输出: {'a': ' ...
- HDU1285 确定比赛名次
有N个比赛队(<=N<=),编号依次为1,,,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结 ...
- Feature Scaling深入理解
Feature Scaling 可以翻译为特征归一化,或者数据归一化,比如统计学习中,我们一般都会对不同量纲的特征做归一化,深度学习中经常会谈到增加的BN层,LRN层会带来训练收敛速度的提升,等等.问 ...
- javascript字符串对象
String字符串对象 1. 字符串粗体展示: var a = "陈冠希喜欢拍电影"; document.writeln(a.bold()+"<br/>& ...