网站空间怎么备份,湖北城市建设职业技术学院官方网站,北京南站列车时刻表,深圳最好的seo培训我是一个有多年开发经验的.NET程序员。最近#xff0c;我决定使用*NIX系统来开发.NET程序#xff0c;虽然看起来有些激进#xff0c;但是我可以说#xff0c;这是我做过最好的决定了。 事情的起因是这样的#xff0c;上周星期五#xff08;十月14日#xff09;#xff… 我是一个有多年开发经验的.NET程序员。最近我决定使用*NIX系统来开发.NET程序虽然看起来有些激进但是我可以说这是我做过最好的决定了。 事情的起因是这样的上周星期五十月14日我正在办公室处理一些东西突然Windows弹出一个窗口说“20分钟之后我们将更新Windows在这之前你什么都做不了。” 15分钟之后我的笔记本已经关机了。然后过了两三分钟就开始了长达一个小时的更新过程浪费了我的工作时间。所以去你的Windows吧。 然而这并不是纯粹因为一时的感情用事做出的决定。老实说当初我是想买台MacBook来着但是我们的项目需要做触屏产品所以我就买了联想的Yoga 900。不过我想也许苹果有一天会出一台带触屏的笔记本然后说这是笔记本的“革命”这又是另外一个故事了。 开发过两个涉及到.NET Core的项目之后我工作用的笔记本基本上和所有微软系统的东西绝缘了然后安装了了Linux Mint。 为什么是Mint呢不知道网上有人推荐说如果你是Linux新手的话我不是纯粹的新手在美好的大学时代我还学了几个命令应该使用Mint而不是Ubuntu这里别太较真了兄弟所以我就用了Mint。 安装新系统之前我必须关闭笔记本的UEFI重新分区格式化。对我来说需要花些时间搞明白这些操作不过还不是太难。 安装很快过了几分钟我就可以登录我的新系统了。 接下来我的首要任务是安装.NET Core框架非常简单没什么好说的。但是NET Core preview library有些依赖存在问题我Google解决了这个问题。然后我的框架就可以工作了我准备build一个应用。它“工作”了加引号是因为引用System.Drawing的project.json出现了问题。 虽然程序可以正确运行但是它抛出了找不到gdiplus.dll异常情理之中因为这是Windows组件在Linux中找不到是正常的。 但是这里我想表达的意思是这里.NET Core应用并没有崩溃。想象一下我把它部署到Linux服务器会发生什么——看起来一切正常但是实际上却不是。这里要注意一下。 安装了一些必要的服务和应用如Git, MongoDB, Redis, Slack, Skype等之后。我要做出一个决定了用什么来写代码。我是Visual Studio Code的忠实粉丝——我写JavaScript几乎全靠它以及除了写C#之外所有的工作但是如果要保证生产率的话我觉得还是Resharper比较好。 还有个叫做OmniSharp支持AtomBracketsSublime甚至Vim它也兼容VS Code。但这毕竟不是Visual Studio Resharper也基本满足我的需求了比如通过文件查找通过method/type查找重命名跳转到定义处或显示引用等。 我也尝试了Project Rider项目但是运气不太好。项目可以载入但是内置的Resharper有错误我不能build我的项目可以写代码不能工作。 不过我相信如果JetBrains修复了这些bug的话这会是.NET最棒的跨平台IDE迫不及待了最后一点没有什么是一个bash脚本解决不了的所以项目的自动化运行、测试等不是问题。 最后要讲的东西是Docker。之前我也计划过学习Docker但是因为没有地方用到所以就不了了之了。现在我们正在使用Microservices CQRS模式开发所以用Docker的镜像和容器应该是个不错的主意。 这也是在软件开发中使用Linux而不是Windows的一个优点。Linux是运行Docker的纯天然容器如果它能在我的机器上运行我几乎100%地肯定它能在远程服务器上运行。 我也可以在Windows 10上安装Docker但是需要VirtualBox的HyperV。上次我试图编译它的时候因为系统变量$PATH的问题遇到了错误。所以在Windows中使用Docker还是挺麻烦的。 对了我忘了提为什么我的应用不能在Linux中运行了——因为这是在Windows上编译的aurelia.json文件的路径以”\”结尾必须将其替换成”/”才能工作在Windows中也有同样的问题。 我已经无法形容*NIX系统的bash有多么棒了用脚本设置NGINX的SSL、签名、反向代理和重定向简直易如反掌。 最后我不是说Windows不适合做软件开发。比如[Visual Studio]在短期内可能不会有竞争对手。我的观点是如果你不是必须使用某个非跨平台系统通常都是指Windows的话也许你可以试一下其它环境。尝试新的东西对强化技术和开拓视野来说总是好的。 原文链接http://geek.csdn.net/news/detail/108540 .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注