今天在尝试使用Global Tools开发一个内部使用的部署小工具,遇到了一些坑,特此记录一下 。
1.sh脚本一定要指定命令解析器
就是在写脚本的时候,必须在脚本头部加上如下语句:
#!/bin/bash
2. .net core控制台程序获取应用程序目录坑
在 .net framework 获取应用程序运行当前目录,我们会使用 Directory.GetCurrentDirectory() 获取静态路径,但是在.net core上使用,获取的是当前运行 dotnet 程序的路径
var path = Directory.GetCurrentDirectory(); System.Console.WriteLine(path);
运行以及输出:
PS C:\Users\zifei\Desktop\QuestionDemo\PingCMD> dotnet run
C:\Users\zifei\Desktop\QuestionDemo\PingCMD
那么在.net core该如何获取当前应用程序的目录呢?
解决方案:
dynamic type = (new Program()).GetType(); string currentDirectory = Path.GetDirectoryName(type.Assembly.Location); Console.WriteLine(currentDirectory);