У меня есть библиотека классов, в которой есть текстовые файлы с помощью Build Action = Content. Эти текстовые файлы считываются функцией в библиотеке классов. Для того, чтобы получить расположение текстовых файлов, которые я использую это:Получение файла «Содержимое» DLL из веб-приложения
var filePath = System.IO.Path.Combine(
AppDomain.CurrentDomain.BaseDirectory,
"AFolder",
"textFileName.txt");
var fileContent = System.IO.File.ReadAllText(filePath);
Я успешно извлечь содержимое текстового файла, когда я назвал функцию от модульного тестирования. Текстовый файл находится в C:\MySolution\MyProject.Test\bin\Debug\AFolder\textFileName.txt
.
У меня есть другое веб-приложение, которое ссылается на эту библиотеку классов. Когда я вызвал функцию для чтения текстового файла из веб-приложения, он не смог найти текстовый файл, потому что он пытался получить файл с C:\MySolution\MyProject.Web\AFolder\textFileName.txt
, тогда как текстовый файл фактически находится в C:\MySolution\MyProject.Web\bin\AFolder\textFileName.txt
.
Так что моя проблема заключается в вызове AppDomain.CurrentDomain.BaseDirectory не всегда работает. Что я должен использовать вместо этого, чтобы получить папку?
Мне нужно добавить ссылку на System.Web моей библиотеки классов? Я не хочу этого делать, если смогу. Библиотека классов должна иметь возможность работать за пределами веб-приложения. –