2016-11-10 3 views
0

У меня есть сетевое приложение ядра, работающее на полной платформе net452. Я включил файл (test.txt) в wwwroot, к которому нужно получить доступ из библиотек net452. Я ввел среду хостинга и получил путь. Однако System.IO.File.Exists (путь \ имя_файла) возвращает false, а код dll возвращает «Указанный файл не существует». Файл существует, и путь «C: \ Users \ bbrown \ Source \ Repos \ MyRepo \ wwwroot \ test.txt» выглядит корректно. Я на 99% уверен, что это проблема с разрешениями. Работает прямое приложение net452 с контуром «C: \ Users \ bbrown \ Documents \ TestApp \ AppData \ test.txt».Доступ к файлу в Net Core работает на полной сетевой платформе

Как получить доступ к файлу или, по крайней мере, отладить проблему. Спасибо!

+0

Ну, что путь, который вы пытаетесь найти его в? Помните, что 'IHostingEvironment.ContentRootPath' не' wwwroot' - это один уровень вверх. –

ответ

0

1) Убедитесь, что у вас есть правильное разрешение для этой папки. Перейдите в эту папку под защитой и посмотрите, есть ли у вас разрешение или нет. Если вы используете IIS, убедитесь, что у пользователя пула приложений есть разрешение на эту папку.

2) _hostingEnvironment.ContentRootPath предоставит вам корневой путь содержимого, что означает сама папка. Вы должны использовать _hostingEnvironment.WebRootPath, который предоставит вам путь к папке wwwroot.

Вот хороший блог, который очистит ваши сомнения https://blog.mariusschulz.com/2016/05/22/getting-the-web-root-path-and-the-content-root-path-in-asp-net-core

 Смежные вопросы

  • Нет связанных вопросов^_^