把.Net开发环境迁移到Linux上去

简介: 把.Net开发环境迁移到Linux上去
+关注继续查看

.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 

image

出现上面这样的,差不多就算成功了.

2.安装VScode

直接去https://code.visualstudio.com/下载一个xxxx.ded的包,然后直接双击打开,会提示注册一个ubuntu商店的账号,随便填写一个邮箱就好了,然后就安装好了。

在ubuntu的seach you computer中搜索vscode

image

就会出现vscode的图标,把这个图标拖到任务栏上,就可以固定

image

 

如果走到这一步,基本的环境算是搭建好了。但是咱们怎么也得跑一个Hello world再说啊

3.开始我们的Hello world

新建一个文件夹Host

然后执行命令

 

dotnet new mvc -n helloworld --no-https

这句cli命令的意思就是新建一个mvc的项目模板,名字叫helloworld 然后不启用https

然后进入到helloworld目录下dotnet run,就可以跑起来了

image

在浏览器中输入localhost:5000

image

就可以正常的访问到我们的helloworld了。。

 

已经跑起了helloworld了,但是好像没有用到vscode啊?

不要慌,马上就用到了。用vscode打开这个helloworld的文件夹

正常情况下,vscode会提示你安装image 这个c#的插件。顺手点击装上吧

 

然后点击vscode的debug

image

会自动生成调试配置文件。再次点击debug,vscode输出一大堆的屎黄色的load信息之后,就会弹出浏览器。

如果你加了断点,vscode就会自动进入断点调试

image

,在vscode的界面上可以很方便的看到各种需要看到的调试信息。虽然vscode自己官宣定位编辑器。

但是功能强的简直是砸各种IDE的饭碗啊。。。最主要还是免费。贼6。


 

虽然本篇文章定位环境搭建。那么我们就搭建的彻底一点。

常规的开发中,我们对解决方案进行分层。比如什么bll啊,dao啊,什么doman啊,乱七八糟的。那么在vscode下如何引用类库呢?

答案也是非常简单的。

同样在host目录下打开Terminal。然后输入

dotnet new classlib -n helloworld

然后再host目录下就出现了两个文件夹,分别为helloworld和helloworld.lib

image

这时候就可以直接用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

image

 

在视图里面弄个h1标签显示viewbag,点击运行

image

差不多到这里就结束了,vscode里面的很多插件可以帮助你简化很多问题。只有自己去发现了。

.Net开发环境在Linux上仍有很多小问题需要去克服,不过随着.net生态的发展,这些都不是问题。不过这些需要各位.Neter的共同努力。

目录
相关文章
|
9月前
|
Java API C#
Unity 引擎开始从 Mono 迁移到 .NET CoreCLR
Unity 引擎开始从 Mono 迁移到 .NET CoreCLR
301 0
Unity 引擎开始从 Mono 迁移到 .NET CoreCLR
|
数据库 C++ Windows
『性能调优』在开发环境中,.NET如何排查CPU飙高原因
📣读完这篇文章里你能收获到 - VS自带的性能排查工具使用 - CPU排查的分析过程 - 排查经验分享
180 1
『性能调优』在开发环境中,.NET如何排查CPU飙高原因
|
SQL 机器学习/深度学习 Cloud Native
.NET 云原生架构师训练营(模块二 基础巩固 EF Core 更新和迁移)--学习笔记
- 状态 - 自动变更检测 - 不查询删除和更新 - 并发
199 0
.NET 云原生架构师训练营(模块二 基础巩固 EF Core 更新和迁移)--学习笔记
|
弹性计算 运维 监控
.Net Core 2.1 MVC Web应用迁移到函数计算 custom runtime
前言 Custom Runtime 就是自定义的执行环境, 用户基于 Custom Runtime 可以完成以下目标: 可以随心所欲持定制个性化语言执行环境(例如 golang、lua、ruby)以及各种语言的小版本(例如python3.7、Nodejs12)等,打造属于自己的自定义runtime; 现有的 web 应用或基于传统开发 web 项目基本不用做任何改造,即可将项目一键迁移到函数计算平台。
1333 0
|
Ubuntu Linux 开发工具
把.Net开发环境迁移到Linux上去
.Net Core发布之前,多年来,.Net程序员的开发环境都在Windows上。 三街第一帅的我,虽然上班的8小时一直在windows上撸C#,但是下班时间一般都在搞其他的乱七八糟的东西,比如写写小游戏啊。
2465 0
|
API C# Windows
分析现有 WPF / Windows Forms 程序能否顺利迁移到 .NET Core 3.0(使用 .NET Core 3.0 Desktop API Analyzer )
原文:分析现有 WPF / Windows Forms 程序能否顺利迁移到 .NET Core 3.0(使用 .NET Core 3.0 Desktop API Analyzer ) 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
1039 0
|
.NET Linux 程序员
从博客园博问站点迁移ASP.NET Core展望.NET Core
今年年初,博客园的博问系统就已经迁移到了 ASP.NET Core on Linux并发布上线发布。 我们看到博客园发表官方博客-- .NET跨平台之旅:博问站点迁移至ASP.NETCore on Linux并发布上线 访问地址:http://www.cnblogs.com/cmt/p/6437901.html   博客园在文章末尾说: 虽然在迁移过程中遇到了很多问题,但是我们的最大体会是:对 .NET Core 的了解越多,你就越喜欢它,这才是真正的魅力。
1158 0
相关产品
云迁移中心
推荐文章
更多