Linux下的C#编译运行

前言

为了丰富TDengine Database的接口支持,Maikebing开发了Linux下的C#接口。今天研究了C#的Linux下编译运行,分享一下。

目前C#在Linux运行有两种方式:mono和.NET。因为maikebing使用的是.NET,本文主要是说.NET方式。

参考文档.NET documentation

1、环境准备

1)版本支持

Ubuntu:

Ubuntu.NET Core 2.1.NET Core 3.1.NET 5 Preview (manual install only)
✔️ 20.04 (LTS)✔️ 2.1✔️ 3.1✔️ 5.0 Preview
✔️ 18.04 (LTS)✔️ 2.1✔️ 3.1✔️ 5.0 Preview
✔️ 16.04 (LTS)✔️ 2.1✔️ 3.1✔️ 5.0 Preview

树莓派arm32和arm64支持.NET 3.1,下载地址如下:

https://dotnet.microsoft.com/download/dotnet-core/3.1

2)安装方法

以Ubuntu 20.04为例:

a)添加微软的package signing key

wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb

sudo dpkg -i packages-microsoft-prod.deb

b)安装.NET Core SDK

安装SDK就可以在Linux下进行开发,安装之后无需再安装运行环境,安装命令如下:

sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-3.1

2、hello world

介绍一个简单的开发例子

1)新建app

快速建立一个console的项目,我们需要新建一个目录,然后在目录下执行

dotnet new console

eg:我们新建了一个hello 的文件夹,执行命令后,会得到两个文件:hello.csproj和Program.cs。

csproj为项目的描述文件,Program.cs为源码文件。 

using System;
 
namespace hello
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

2)运行app

直接在终端下,执行:dotnet run。就会得到Hello World的输出

TDengine 时序数据库 - Linux下的C#编译运行 image2020 10 28 16 41 35

3、Maikebing示例程序运行

1)clone

我们可以在github上clone代码下来,地址:

https://github.com/maikebing/Maikebing.EntityFrameworkCore.Taos

2)执行

a)进入到src/Example的目录,修改Program.cs:21,将taos修改为服务端的FQDN。

b)在此目录下执行:dotnet run,会得到下面的输出:

TDengine 时序数据库 - Linux下的C#编译运行 image2020 10 28 16 47 11

4、结束

大家可以在Linux下,使用C#接口来连接TDengine Database了。