Я использую . NET Core 3.1 . Допустим, у меня есть следующая структура решения:
MySolution
ClassLibrary
Files
a.txt
b.txt
GetFile.cs
Project1
Project2
...
И предположим, что GetFile.cs
имеет функцию ReadFile
, которая считывает файл из Files
и возвращает его содержимое.
public class FileReaderService : IFileReaderService
{
private readonly IHostEnvironment _env;
public FileReaderService(IHostEnvironment env)
{
_env = env;
}
public string ReadFile(string fileName)
{
var currentPath = _env.ContentRootPath; // not correct
return "";
}
}
Однако, когда я пытаюсь получить текущий каталог в ReadFile
с помощью _env.ContentRootPath
, он возвращает каталог вызывающего проекта. Я не хочу, чтобы он зависел от вызывающего проекта.
Как я могу добиться, чтобы каждый проект мог вызывать ReadFile
и возвращался правильный файл из Files
? Мне нужно добавлять, удалять и изменять эти файлы во время работы приложения .
Я нашел несколько вопросов по SO, но все они кажутся устаревшими. Мне нужно решение, которое будет работать на. NET Core.