dotnet script

应用场景

sh/bash实在写不习惯 我还是想写c#….

dotnet:

https://dotnet.microsoft.com/en-us/download

dotnet tool install -g dotnet-script

脚手架

dotnet script init

Note: 脚手架只支持在当前目录创建。

脚手架的目的是可以方便vscode进行调试。所以在目标机器上也可以直接写脚本而不用初始化脚手架

#r修改之后注意重启omnisharp 或重启vscode

引用包或dll

#r "nuget:package name"
#r "path to dll"

引用其他脚本

#load "nuget: script package"
#load "path to the csx"

获取脚本执行路径

public static string GetScriptPath([CallerFilePath] string path = null) => path;
public static string GetScriptFolder([CallerFilePath] string path = null) => Path.GetDirectoryName(path);

TIP: 放在单独的脚本文件 当你需要获取路径的时候直接#load这个脚本然后调用即可。

例子:

main.csx

#!/usr/bin/env dotnet-script
#r "nuget:NewtonSoft.JSON"
#load "./test.csx"
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

Console.WriteLine("Hello world!");

var t = JObject.Parse("{\"test\":1}");
Console.WriteLine(t["test"]);

Console.WriteLine(T());
Console.WriteLine(new TestClass1().T());

test.csx

#!/usr/bin/env dotnet-script
public class TestClass1 {
    public int T(){
        return 102;
     }
}

public int T() {
    return 100;
}
posted @ 2022-09-25 16:54  仙贝  阅读(184)  评论(0)    收藏  举报