.Net Core 发布之前, 多年来,.Net 程序员的开发环境都在 Windows 上.
三街第一帅的我, 虽然上班的 8 小时一直在 Windows 上撸 C#, 但是下班时间一般都在搞其他的乱七八糟的东西, 比如写写小游戏啊. 写点安卓或者 iOS 的 App 啊.
本着一颗折腾的心. 周末在家开始了再 Ubuntu 上搭建. Net Core 的开发环境
想要搬移到 Ubuntu 上去, 一般常规是两种方法
1. 使用 jetbrains 家族的. Net 定制开发环境 Rider.
Rider 是一个跨平台的. Net 集成开发环境, 支持 Windows Linux macOS, 基本上可以做到开箱即用. 我在 Windows 上使用发现了不少小问题.
Rider 有两个非常不友好的地方
第一点就是收费.
太消耗硬件资源了, 这也是 jb 家的 ide 的通病. 当然大部分大佬都是四核 16G + 几百 G 的固态硬盘, 跑 Rider 还是轻松加愉快.
对于新上手一个环境来说, 还算是选择一个从 0 配置的方案比较好. 也就是今天要介绍的 vscode 了
2. 使用 vscode+dotnet sdk 自己动手搭建一个环境
环境准备: Ubuntu 1604+vscode 最新版 + dotnet sdk 2.2
1. 安装. Net core 的 sdk
安装. Net core 的 sdk 需要注册微软的密钥和源
- wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb
- sudo dpkg -i packages-microsoft-prod.deb
然后就是安装. Net core 的 sdk
- sudo apt-get install apt-transport-https
- sudo apt-get update
- sudo apt-get install dotnet-sdk-2.2
安装成功后, 在 Terminal 中输入 dotnet
出现上面这样的, 差不多就算成功了.
2. 安装 VScode
直接去 https://code.visualstudio.com / 下载一个 xxxx.ded 的包, 然后直接双击打开, 会提示注册一个 Ubuntu 商店的账号, 随便填写一个邮箱就好了, 然后就安装好了.
在 Ubuntu 的 seach you computer 中搜索 vscode
就会出现 vscode 的图标, 把这个图标拖到任务栏上, 就可以固定
如果走到这一步, 基本的环境算是搭建好了. 但是咱们怎么也得跑一个 Hello world 再说啊
3. 开始我们的 Hello world
新建一个文件夹 Host
然后执行命令
dotnet new mvc -n helloworld --no-https
这句 cli 命令的意思就是新建一个 mvc 的项目模板, 名字叫 helloworld 然后不启用 https
然后进入到 helloworld 目录下 dotnet run, 就可以跑起来了
在浏览器中输入 localhost:5000
就可以正常的访问到我们的 helloworld 了..
已经跑起了 helloworld 了, 但是好像没有用到 vscode 啊?
不要慌, 马上就用到了. 用 vscode 打开这个 helloworld 的文件夹
正常情况下, vscode 会提示你安装
这个 c# 的插件. 顺手点击装上吧
然后点击 vscode 的 debug
会自动生成调试配置文件. 再次点击 debug,vscode 输出一大堆的屎黄色的 load 信息之后, 就会弹出浏览器.
如果你加了断点, vscode 就会自动进入断点调试
, 在 vscode 的界面上可以很方便的看到各种需要看到的调试信息. 虽然 vscode 自己官宣定位编辑器.
但是功能强的简直是砸各种 IDE 的饭碗啊... 最主要还是免费. 贼 6.
虽然本篇文章定位环境搭建. 那么我们就搭建的彻底一点.
常规的开发中, 我们对解决方案进行分层. 比如什么 bll 啊, dao 啊, 什么 doman 啊, 乱七八糟的. 那么在 vscode 下如何引用类库呢?
答案也是非常简单的.
同样在 host 目录下打开 Terminal. 然后输入
dotnet new classlib -n helloworld
然后再 host 目录下就出现了两个文件夹, 分别为 helloworld 和 helloworld.lib
这时候就可以直接用 vscode 打开 host 文件夹, 在 Exploere 视图下. 点开 helloworl.csproj 文件, 新加入一个 ItemGroup 的节点
- <ItemGroup>
- <ProjectReference Include="..\helloworld.lib\helloworld.lib.csproj" />
- </ItemGroup>
这样就成功引用了. 当然也可以使用 dotnet cli 来引用, Terminal 中输入
dotnet add reference ../helloworld.lib/helloworld.lib.csproj
就可以自动帮你加入了上面的 ItemGroup 节点了.
测试一下. 在 helloworld.lib 类库的 Class1 里面加入一个方法 SayHello
- public string SayHello(){
- return "Hello World!";
- }
然后打开 HomeController.cs
在视图里面弄个 h1 标签显示 viewbag, 点击运行
差不多到这里就结束了, vscode 里面的很多插件可以帮助你简化很多问题. 只有自己去发现了.
.Net 开发环境在 Linux 上仍有很多小问题需要去克服, 不过随着. net 生态的发展, 这些都不是问题. 不过这些需要各位. Neter 的共同努力.
来源: https://www.cnblogs.com/feimaoicoding/p/10543136.html