应用场景
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;
}