Невозможно записать файл в путь в Directory.GetCurrentDirectory () - PullRequest
0 голосов
/ 14 октября 2019

Я пытаюсь написать строку, создавая файл временно в папке просмотра решения динамически. Я получаю текущий путь, как показано ниже, и добавляю его к нужному пути:

         string tempPath = Directory.GetCurrentDirectory() + "\\Views\\" + guid + "_" + fileName + 
         ".cshtml";
         File.WriteAllText(tempPath, data);

Локально работает отлично. Но не там, где размещено приложение. Я хочу записать файл только в подпапку Views, но этого не происходит. Не удается записать в файл в размещенном приложении.

Я пробовал другие варианты, такие как Assembly.GetEntryAssembly().Location - который идет в bin / debug - который не будет достигать папки Views. Как я должен исправить это, чтобы получить путь как требуется:

C:\Users\....\Services\A.B.C\A.B.C.API\Views\91c914d6-f551-4eea-97de-d8f842d1692e_File_NAME.cshtml

1 Ответ

0 голосов
/ 14 октября 2019

Я не уверен, что понимаю, что произошло, когда запись не удалась.

Если возникло исключение, вы, вероятно, получили объяснение в сообщении. Если это отсутствующее право NTFS, просто добавьте его.

Если ничего не произошло и выполнение продолжается, вы, вероятно, напишите не в ту папку: введите значение, возвращаемое Directory.GetCurrentDirectory () на консоли. Если вы не можете изменить исходный код, следите за файлами с помощью такого инструмента, как procmon (инструмент Microsoft sysinternals), чтобы узнать, куда записан файл.

Расскажите подробнее о поведении, чтобы получить помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...