У меня есть проект консоли, библиотеки и сервиса. Проект библиотеки загружает файлы в папку и сохраняет текст в переменных.Почему моя служба Windows не может получить доступ к папке с файлами в них?
Затем консольный проект будет управлять этими переменными. Я могу успешно запустить проект консоли, и он загружает файлы без проблем. Файлы установлены в «Копировать всегда» в DLL и указаны как «Содержимое для действия по созданию».
Когда я пытаюсь запустить тот же самый код в сервисе.
File.ReadAllText(@"MyFolder\SomeFile.txt");
Это генерирует следующее исключение.
The type initializer for 'MyLibrary.Data.ReadFiles' threw an exception.
Я использую тип проекта установки для создания установщика. После установки службы папка MyFolder
существует в папке приложения службы, а также в файлах. Что еще может быть причиной моей проблемы, когда служба не может прочитать эти файлы?
EDIT 1
public class ReadFiles {
public static string DataFile = File.ReadAllText(@"MyFolder\SomeFile.txt");
}
Учетная запись службы «ЛОКАЛЬНАЯ СИСТЕМА». Как разрешить ему читать эту папку? Системе предоставляется все содержимое папки, а также файлы. – meanbunny
Я определенно согласен, просто пытаюсь найти решение. – meanbunny
@meanbunny, если вы работаете как 'LOCAL SYSTEM', тогда вы просто бросаете исключение в конструктор' ReadFiles'. Отправьте этот код, или вы даже сможете его увидеть, и проверьте средство просмотра событий для необработанного исключения .NET, которое почти наверняка существует. –