本文を読み飛ばす

Linux On Android: C# .Net Core SDK動かす

.Net Core 3.1 はARM Linuxでも動きます

なので、(たぶん) Linux On Android でも動きます

実際にやってみたら動いたので備忘録として書きました。

準備

  • .Net Core 3.1 を download する
  • 私の場合は、 $HOME/install に展開しました -> $HOME/install/dotnet

やってみる

  • mkdir work
  • export DOTNET_ROOT=$HOME/install/dotnet
  • export PATH=$PATH:$HOME)install/dotnet
  • dotnet --list-sdks
$ dotnet --list-sdks
dotnet --list-sdks
3.1.201 [/home/.../install/dotnet/sdk]

$ dotnet --list-runtimes
dotnet --list-runtimes
Microsoft.AspNetCore.App 3.1.3 [/home/.../install/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.1.3 [/home/.../install/dotnet/shared/Microsoft.NETCore.App]
sdotnet --list-sdks
3.1.201 [/home/.../install/dotnet/sdk]

私の場合、こういうの忘れっぽいので Makefile に書いときました

export DOTNET_ROOT:=$(HOME)/install/dotnet
export PATH:=$(PATH):$(HOME)/install/dotnet

dotnet:
    dotnet $(opt)

ちょっと面倒だけどこうします: make opt="--list-sdks"

console作る

  • dotnet new console
  • dotnet add package OxyPlot.Core --version=2.0.0
  • サンプル書いてみる
using System;
using OxyPlot;

namespace sample {
    public classs Program {
        static void main() {
            var mdl = new OxyPlot.PlotModel {
                    Title = "Exmaple 1"};
            mdl.Series.Add(new OxyPlot.Series.FunctionSeries(
                    Math.Cos, 0, 10, 0.1, "cos(x)"));
            using (var stm = System.IO.File.Create("sample.svg")) {
                var expt = new OxyPlot.SvgExporter {
                        Width = 600, Height = 400};
                expt.Export(mdl, stm);
            }
        }
    }
}  // namespace sample {{{1
  • 実行: dotnet run
  • sample.svg出来てたら成功です

sample.svgはブラウザから確認しました。
Debianにnginx立ち上げればAndroid側から確認できます。

テキストエディタで見てもそれなりにわかります。

.Net Coreですがこんなにすんなり動くとは...って感じです。
Debianなんでmonoでもいいんですが、
.Net Coreの方が良いこともあると思います。

VBとか...

ビルドできたんで、開発環境とか整えていきますが、 それはまた別の機会に書きます。

コメント

Comments powered by Disqus
宣伝: