Код: Выделить всё
dotnet new sln -o ConsoleSol
dotnet new console -o ConsoleSol/ConsoleApp
dotnet sln ConsoleSol/ConsoleSol.sln add ConsoleSol/ConsoleApp/ConsoleApp.csproj
Код: Выделить всё
ConsoleSol/
├── ConsoleApp
│ ├── bin
│ │ └── Debug
│ │ └── netcoreapp2.1
│ ├── ConsoleApp.csproj
│ ├── obj
│ │ ├── Debug
│ │ │ └── netcoreapp2.1
│ │ └── project.assets.json
│ └── Program.cs
└── ConsoleSol.sln
Причина, по которой я хочу это сделать, заключается в том, что я могу создать файл в этом каталоге.
Как я могу получить путь к ConsoleSol/ConsoleApp (т. е. путь, по которому существуют ConsoleApp.csproj и Progam.cs) из Program.cs?
Я пробовал следующее:
Код: Выделить всё
class Program
{
static void Main(string[] args)
{
var directory = Directory.GetCurrentDirectory();
Console.WriteLine(directory);
}
}
ПРИМЕЧАНИЕ. Я не пытаюсь получить путь к .exe, который можно получить, вызвав System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location). Вместо этого я пытаюсь получить путь к Program.cs