.Net Core发布之前,多年来,.Net程序员的开发环境都在Windows上。

三街第一帅的我,虽然上班的8小时一直在windows上撸C#,但是下班时间一般都在搞其他的乱七八糟的东西,比如写写小游戏啊。写点安卓或者IOS的APP啊。

本着一颗折腾的心。周末在家开始了再Ubuntu上搭建.Net Core的开发环境

想要搬移到ubuntu上去,一般常规是两种方法

1.使用jetbrains家族的.Net定制开发环境Rider。

Rider是一个跨平台的.Net集成开发环境,支持windows Linux macOS,基本上可以做到开箱即用。我在windows上使用发现了不少小问题。

Rider有两个非常不友好的地方

  1. 第一点就是收费。
  2. 太消耗硬件资源了,这也是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的共同努力。

把.Net开发环境迁移到Linux上去的更多相关文章

  1. .Net Core开发环境迁移到Linux

    .Net开发环境迁移到Linux上去 .Net Core发布之前,多年来,.Net程序员的开发环境都在Windows上. 三街第一帅的我,虽然上班的8小时一直在windows上撸C#,但是下班时间一般 ...

  2. 20145225《Java程序设计》实验一 Java开发环境的熟悉(Linux + Eclipse)

    20145225<Java程序设计> 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑 ...

  3. 实验一 Java开发环境的熟悉(Linux + Eclipse)

    学号 20175206 实验一 <Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实 ...

  4. 实验一 Java开发环境的熟悉(Linux + Idea) 20175301李锦然

    https://gitee.com/ShengHuoZaiDaXue/20175301.git 实验一 Java开发环境的熟悉(Linux + Idea) 实验内容 1.使用JDK编译.运行简单的Ja ...

  5. 20145203盖泽双实验一 Java开发环境的熟悉(Linux + Eclipse)

    实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 1.没 ...

  6. 《JAVA程序设计》20155214 实验一 Java开发环境的熟悉(Linux + IDEA)

    <JAVA程序设计> 实验一 Java开发环境的熟悉(Linux + IDEA) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Ja ...

  7. 20155233 实验一 Java开发环境的熟悉(Linux + IDEA)

    20155233 实验一 Java开发环境的熟悉(Linux + IDEA) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA编辑.编译.运行.调试Java程序. 实验步骤 ( ...

  8. 20155235 《Java程序设计》 实验一 Java开发环境的熟悉(Linux + Eclipse)

    20155235 <Java程序设计> 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编 ...

  9. 20155323刘威良第一次实验 Java开发环境的熟悉(Linux + IDEA)

    20155323刘威良第一次实验 Java开发环境的熟悉(Linux + IDEA) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序 ...

随机推荐

  1. 51nod 1318 最大公约数与最小公倍数方程组(2-SAT)

    题意 给你 \(n\) 个元素,\(m\) 个方程. 每个方程形如 \[ \begin{align} \gcd(x_i, y_i)=c_i\\ \mathrm{lcm}(x_i,y_i) = d_i ...

  2. Android greenDAO 数据库 简单学习之基本使用

    看网上对greenDAO介绍的不错,今天就动手来试一把,看看好不好使. greenDAO 官方网站:http://greendao-orm.com/ 代码托管地址:https://github.com ...

  3. AttributeError type object 'deprecated' has no attribute 'ROCKY'

    AttributeError type object 'deprecated' has no attribute 'ROCKY' 在使用kolla安装docker的时候遇到了AttributeErro ...

  4. [Nmap] Regular script

    out of date: TCP:nmap.exe -sC -sS -sV -p 1-65535 -A -v -v -oX filename.xml ip UDP:nmap.exe -sC -sU - ...

  5. Java【第三篇】基本语法之--选择结构

    Java分支语句分类 分支语句根据一定的条件有选择地执行或跳过特定的语句,分为两类: if-else 语句 switch 语句 if-else语句语法格式 if(布尔表达式){ 语句或语句块; } i ...

  6. mysql ssh 跳板机(堡垒机???)连接服务器

    跳板机(Jump Server),也称堡垒机,是一类可作为跳板批量操作远程设备的网络设备,是系统管理员或运维人员常用的操作平台之一. 正常的登录流程 使用ssh命令登录跳板机: 登录跳板机成功后,在跳 ...

  7. golang 笔记

    golang 的坑 package main import ( "fmt" "net/http" "time" ) func Hello(w ...

  8. zabbix数据库分表的实现

    前提条件是主从同步操作完成(主从同步的前提是两个数据库表结构必须一样) 先看一下mysql配置文件 vi /usr/local/mysql/my.cnf 配置内容:------------------ ...

  9. 一.Django 学习 —— 环境搭建

    Ⅰ.前言 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的框架模式,即模型M,视图V和控制器C. 我们先搭建一个Django项目运行的环境. 需要准备的有: 1- Py ...

  10. Git 分支 (二)合并

    分支的新建与合并 让我们来看一个简单的分支新建与分支合并的例子,实际工作中你可能会用到类似的工作流. 你将经历如下步骤:1. 开发某个网站.2. 为实现某个新的需求,创建一个分支.3. 在这个分支上开 ...