国产的 Deepin 不错,安利一下。
Deepin 用了也有一两年,也只是玩玩,没用在开发上面。后来 Win10 不太清真了,就想着能不能到 Deepin下撸码。要搞开发,首先少不了 IDE,VS2019 用不来,Vs Code 太复杂、麻烦,后来发现了 Rider 这个神器,可是 Rider 是英文界面,笔者的英文是渣渣的。结果在 Windows 下 使用 Rider 开发一段时间后, 已经熟悉了 Rider ,于是计划后面迁移到 Deepin 下开发 .NET Core 。笔者装了双系统 Windows10 + Deepin 15。
安装 Rider
Rider 的Linux 下载地址
http://www.jetbrains.com/rider/download/#section=linux
下载压缩包后,将压缩包解压,打开 bin
目录,在目录下打开终端,运行
sh rider.sh
或者直接点击 rider.sh 文件,选择执行即可。
之后会弹出安装界面。
根据提示一步步安装。
最后会要求输入账号密码或者激活码激活 Rider 。
我这个是高材生的福利~你们没有的话就用 Github 开源项目免费申请使用,或者其他手段激活。
安装完毕后,点击 New Solution ,发现只能创建 .NET Frameork 的项目(Mono)。
先关闭 Rider ,接下来安装 .NET Core
安装 .NET Core SDK
有两种安装方法
自己下载二进制的 安装包
使用软件包形式安装
无论哪种方法,如果不把 SDK/Runtime 放到
/usr/share/dotnet
下,Rider 是无法识别的(默认路径,可以进入Rider修改设置),下面两种方法都是在 Linux 简单二进制安装 .NET Core SDK的方法。
sudo ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet -f
export DOTNET_ROOT=/usr/share/dotnet export
PATH=$PATH:/usr/share/dotnet
推荐第一种方法,第二种方法的或,可以按照微软的文档自己试试。。。
https://dotnet.microsoft.com/download/thank-you/dotnet-sdk-3.0.100-linux-x64-binaries
安装完毕后就是这个样子。
如果要通过软件包形式安装,参考一下这里 https://dotnet.microsoft.com/download/linux-package-manager/ubuntu18-04/sdk-current
体验开发
想不到在 Deepin 下,Rider 竟然支持 Desktop Application(WPF)。
不过这不是重点,我又不会 WPF,先试一下 ASP.NET Core ,晚一点再看看 WPF。
运行的时候,报这个错,是 Https 证书的问题,只需要任意位置打开终端,输入下面的命令即可。
dotnet dev-certs https
不知道为什么,浏览器打开 Blazor 应用一片空白。。。
换成 MVC 试试。
不知道为什么 Blazor 打开会空白。不管了,试试 Desktop Application。
创建 Wpf 项目后,提示要安装插件,然后退出重新打开。
不过最后重新打开项目还是报错
Project 'WpfApp1' load finished with warnings
The imported project "/usr/share/dotnet/sdk/3.0.100/Sdks/Microsoft.NET.Sdk.WindowsDesktop/targets/Microsoft.WinFX.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. /usr/share/dotnet/sdk/3.0.100/Sdks/Microsoft.NET.Sdk.WindowsDesktop/targets/Microsoft.NET.Sdk.WindowsDesktop.targets at (26:3)
Windows is required to build Windows desktop applications. at (59:5)
算了~就这样好了,反正我又不会 WPF ~
本文是使用 Typora 写的,很清真。
好好学习呗~
最后录了个视频玩,不知道说啥,看看内容界面就好~
打不开的话,请点击 http://player.youku.com/embed/XNDQzODgzMzk3Ng==