前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mac上开发.Net遇到的坑

Mac上开发.Net遇到的坑

原创
作者头像
itmifen
发布2018-04-16 11:39:44
2.9K12
发布2018-04-16 11:39:44
举报
文章被收录于专栏:IT米粉IT米粉IT米粉

相信很多朋友都和我一样,使用Mac做为自己的电脑,但是工作中却需要使用.Net的开发环境,但是Mac对于.Net的支持却一直不是很好,时代在发展,微软都成为Github贡献最多的企业,那么Mac中顺利开发.Net的梦想能实现吗?

大家都懂的解决方案——虚拟机

核心依然是在Windows上开发.Net程序,只需要安装虚拟机即可,推荐使用Parallels Desktop,价格不贵,淘宝有大量半价销售,可以使用融合模式。当然,可以找一些其他的免费得虚拟机,都差不多,都会有一个问题——卡。

奇葩的方案——远程桌面

其实这个方案并不奇葩,很多人的Mac唯一不能做的,就是.Net开发,或者说,就是.Net的编译和Visual Studio的使用,所以远程桌面配合Nginx或者其他方案,使用起来也是很不错。推荐使用Micorsoft remote desktop。至于调试JS你是喜欢在Mac环境还是Windows环境,都可以,你可以通过修改HOST或者用Nginx做反向代理,这里就不多说了。

以上的两个方式都是在Windows作为开发的平台,不能算是在Mac上开发,Mac只是一个屏幕和一个键盘而已。下面介绍几个Mac环境中开发.Net的方式。

.net Core 让未来照进现实

其实大家都知道,.net Core是.net的未来,现在Core已经完全支持Mac平台,基本可以与Mac无缝结合,配合VS code使用,整个开发的体验其实是非常棒的。推荐仔阅读:http://www.cnblogs.com/dotNETCoreSG/p/aspnetcore-index.html ,非常棒的文章。

  • 安装undefined参考:https://www.microsoft.com/net/core#macos ,如出现坑爹的疑问,试着重启下电脑。undefined安装Yeoman,会包括基础的代码,毕竟vs code是文本编辑器,不是IDE,达不到Visual Studio的水准,建项目和初始化项目的时候,不肯能全部敲代码,用这个就可以初始化项目。undefined参考:Building Projects with YeomanundefinedYeoman基于npm,对于长期使用Visual Studio开发的同学,可能不太了解Linux和 .Net Core的世界里,请务必知道npm的使用。dotnet restore dotnet run然后通过浏览器就看到 .net 的网页,当然,如果你自己是使用控制台,也是可以的。undefined因为 .net core是有别于原有的 .net 2.0, .net 3.5 ,.net 4.0 ... ,设计之初的目的就是为了跨平台,所以,可以理解为有别于以前版本的全新框架,所以,与原有的框架暂时无法顺利平移,即使强制转过来,也会有一些很奇葩的问题。
  • 使用
用不惯vs code,xamarin Studio你可以试试

.net core无法兼容前几代.net版本,那么前几代的怎么办呢,vs code 能用吗?

用Mono吧,.net Core的鼻祖,编辑器依然用vs code,但是抱歉,针对调试功能无法很好的支持。用过Visual Studio的人,你跟我说无法调试?呵呵,试试xamarin。

xamarin Studio是一个IDE,不仅可以开发 .net,还能开发Android和IOS程序,这个大家应该都知道,这里就不多说了。

Visual Studio能很好的支持断掉调试,支持MVC,虽然不如Visual Studio,但是基本的使用还是很方便的,智能提示也能及时的响应,相对也是一个不错的选择。

总结

虽然上面介绍了多种我自己尝试的在Mac下开发.net程序的方案,但是每种方案都有不足之处,究其原因,还是因为 .net 在Linux平台属于一个相对小众的产品,但是随着Micosoft逐渐和Linux越走越近,.net core逐渐得到任何越来越多的认证,近乎完美的解决方案迟早会出现,但是现阶段,依然还需要忍耐。

以上方案在使用过程中,总会有各种的痛点,希望能尽快得到解决。例如:对MVC的版本支持有些差异、部分.dll不兼容、甚至还会出现大写小写不兼容的情况。PS:开发的习惯真的很重要,如下的两单代码就是有区别的。

return View("~/Home");
return View("~/home");

在Windows下面,两种写法都是可以的,但是在Mac下,呵呵~~~。


欢迎大家关注我的公众号交流、学习、第一时间获取最新的文章

微信号:itmifen

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 大家都懂的解决方案——虚拟机
  • 奇葩的方案——远程桌面
  • .net Core 让未来照进现实
  • 用不惯vs code,xamarin Studio你可以试试
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档