私は少なくとも3時間答えを探していましたが、成功しませんでした。
どこにでもあるのは単なるコードの断片であり、それらを接続する方法がわかりません。
達成したいこと:現在の作業ディレクトリ ( PS でコマンドを
使用して出力される値) を処理する必要がある dotnet-tool を作成しています。pwd
Dotnet ツールはデフォルト ディレクトリ C:\Users\Samuel\.dotnet\.store\myTool... にインストールされますが、コマンドは PS の任意のディレクトリで を使用して呼び出すことができますdotnet tool run myTool
。
例:
PS では、C:\Users\Samuel\AxisRepos> で実行しますdotnet tool run myTool
。この場合、C# コードで C:\Users\Samuel\AxisRepos を取得して、どのディレクトリ コマンドが呼び出されたかを調べます。
簡単に言えば、dotnet ツールで次のようなことをしたいと考えています。
class Program
{
static void Main(string[] args)
{
var pwd = GetPwdFromPowerShell();
}
static string GetPwdFromPowerShell()
{
string pwd = "";
// Retrieve current working directory from PS in which dotnet tool was invoked
return pwd;
}
}