1、介绍
微软在Visual Studio 2017 正式发布的时候也上线了一个参考应用https://github.com/dotnet/eShopOnContainers
eShopOnContainers是基于微服务架构和Docker容器的一个简单的.Net Core的应用。目前微服务架构如火如荼,docker技术也发展迅速,微软在这时推出这个Demo,其用意可想而知,虽说这个Demo还不能完全应用到生产环境,但对于我们开发者来说,可是非常好的学习资料,无论你是稍作修改还是利用架构重新开发,学习这样一个Demo都是非常有必要的。(感谢James YinG授权摘抄)
2、架构
我们看下微软提供给我们的架构图
这套架构在Github上开源,地址:https://github.com/dotnet-architecture/eShopOnContainers
我们可以通过git把源代码clone下来。
2、运行Windows App
我们用vs2017打开eShopOnContainers-MobileApps.sln。
把eShopOnContainers.Windows项目设置为启动项,启动目标为“本地计算机”。
Windows Phone 模拟器
很容易Windows App运行起来,微软自家的东西还是坑少。
运行Windows App我没有遇到什么坑,如何大家遇到了欢迎留言。
我们用vs2017打开eShopOnContainers-Android.sln。
把eShopOnContainers.Droid项目设置为启动项,由于Android模拟器太大没有安装,我使用了真机来运行,启动目标为“设备”。
很容易Android App也运行起来,对于开源的Android微软掌控的很好。
运行Android App我没有遇到什么坑,如何大家遇到了欢迎留言。
坑最多的一个了,我们来把它运行起来吧。
在Mac下面我们直接来进行IOS真机调试:
准备一台安装有Xcode和vs2017 for mac 的Mac电脑,安装vs2017 for mac比较简单不过需要挂vpn才可以完成。
准备一部iPhone和一个Apple ID。
申请IOS开发者认证:https://developer.apple.com
做真机调试完全依赖Xcode,苹果各种应用申请也集成在Xcode里面了。
我们用Xcode创建一个新项目名称需要和eShopOnContainers-IOS项目名称一致。
Xcode项目
vs2017项目
Bundle Identifler :com.openedu.eShopOnContainers
对应
Info.plist里面的捆绑包标识符:com.openedu.eShopOnContainers
我们用vs2017 for mac打开eShopOnContainers-IOS.sln
设置IOS Bundle
IOS Bundle
预配置文件如果是灰的说明Xcode建的那个项目的标识符不一致。
现在我们就可以在真机上运行调试了。
常见的2个错误、都是和苹果开发者认证有关系:
Error: No valid iOS code signing keys found in keychain. You need to request a codesigning certificate from https://developer.apple.com. (eShopOnContainers.iOS)
Error: No installed provisioning profiles match the installed iOS signing identities. (eShopOnContainers.iOS)
当然vs2017也提供了在Windows下面进行IOS开发和调试的功能,不过需要远程共享一台Mac。
在Mac上需要开启远程登录:
远程登录
连接Mac代理,Mac端需要安装vs2017 for mac,并且更新Xamarin.IOS到10.10版本。
Mac代理
把eShopOnContainers.IOS项目设置为启动项,启动目标为“iPhone 7 Plus IOS 10.3”。
IOS 模拟器
在IOS 模拟器成功运行起来,在Windows进行真机调试没有尝试成功。
运行IOS App如何大家还遇到其它坑欢迎留言。