У нас есть приложение C# на .net Framework 4.8, которое создает отчеты Excel и сохраняет их в предопределенном месте, специфично для пользователя, например: < /p>
var documents = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var path = Path.Combine(documents, @"AppName\ClientName\ReportType\ReportName_yyyy-MM-dd_HH-mm.xlsx");
var folder = Path.GetDirectoryName(path);
Directory.CreateDirectory(folder);
using var stream = File.Create(path);
//var writer = new ExcelWriter(stream);
< /code>
Проблема заключается в том, что этот код работает для большинства пользователей, но для некоторых пользователей он бросает это исключение: < /p>
system.io.filenotfoundexcept />'c:LieSerSerSersEnmerName\documents\ AappName\clientName\ReportType\ReportName_yyyy-mmm-dd_hh-mm.xlsx'.
Имя файла:
'c:LieSerSerSerSermanmerName\documents\ appname\clientName\ReportType\ReportName_yyyy-mm-dd_hh-mm.xlsx'образной Режим FileMode, доступ к FileCcess, права int32, логические пользователи, FileShare Share, Int32 Buffersize, параметры файлоонов, Security_attributes Secattrs, строка MSGPath, Boolean BfromProxy, Boolean uselongpath, Booleancehost)
at system.io.io.io.io.io.io. Доступ, Fileshare Share, Int32 BufferSize)
at file.create (String FileName) < /p>
< /blockquote>
Это очень странно, потому что мы создаем не существующий файл, который является тем, что файл. (https://learn.microsoft.com/en-us/dotnet/api/system.io.file.create?view=netframe-4.8#system-io-file-create(system-string))
Местоположение файла-это My Documments
, так что любой пользователь должен иметь доступ. Код создает необходимые подпапки, если они не существуют. < /P>
Я подтвердил, что имя файла составляет менее 200 символов. Что предотвращает создание файлов?
У нас есть приложение C# на .net Framework 4.8, которое создает отчеты Excel и сохраняет их в предопределенном месте, специфично для пользователя, например: < /p> [code]var documents = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var path = Path.Combine(documents, @"AppName\ClientName\ReportType\ReportName_yyyy-MM-dd_HH-mm.xlsx");
var folder = Path.GetDirectoryName(path); Directory.CreateDirectory(folder);
using var stream = File.Create(path); //var writer = new ExcelWriter(stream); < /code> Проблема заключается в том, что этот код работает для большинства пользователей, но для некоторых пользователей он бросает это исключение: < /p>
system.io.filenotfoundexcept />'c:LieSerSerSersEnmerName\documents\ AappName\clientName\ReportType\ReportName_yyyy-mmm-dd_hh-mm.xlsx'. Имя файла:
'c:LieSerSerSerSermanmerName\documents\ appname\clientName\ReportType\ReportName_yyyy-mm-dd_hh-mm.xlsx'образной Режим FileMode, доступ к FileCcess, права int32, логические пользователи, FileShare Share, Int32 Buffersize, параметры файлоонов, Security_attributes Secattrs, строка MSGPath, Boolean BfromProxy, Boolean uselongpath, Booleancehost)
at system.io.io.io.io.io.io. Доступ, Fileshare Share, Int32 BufferSize)
at file.create (String FileName) < /p> < /blockquote> Это очень странно, потому что мы создаем не существующий файл, который является тем, что файл. (https://learn.microsoft.com/en-us/dotnet/api/system.io.file.create?view=netframe-4.8#system-io-file-create(system-string)) Местоположение файла-это My Documments [/code], так что любой пользователь должен иметь доступ. Код создает необходимые подпапки, если они не существуют. < /P> Я подтвердил, что имя файла составляет менее 200 символов. Что предотвращает создание файлов?