В моей текущей программе, у меня есть основной метод, который содержитДоступ к пути запрещен после того, как он уже доступен?
using (NetworkShareAccessor.Access(---credentials etc---)
{
(string latest = new DirectoryInfo(---folder on the network---).GetDirectories().OrderByDescending(d => d.LastWriteTimeUTC).First().ToString();
CopyFiles(latest, "---folder---", "---file name---");
}
Это успешно осуществляет доступ к сетевой папке, и я знаю, потому что, если я выбираю Console.WriteLine (последнее), он выводит нужную папку на консоль, доказывая, что к коду подключен. Однако, в моем методе CopyFiles, я получаю необработанное исключение, которое гласит:
Доступ к пути «--- месте пути ---» Отказано
мне нужно использовать внешний метод и не может просто поместить все это в Main(), потому что он будет использоваться в другом месте и повторен, поэтому имеет смысл иметь собственный метод и передавать разные параметры, содержащие имя папки и имя файла.
Я уже пробовал поместить все внутри метода CopyFiles в свой собственный оператор using, который я использовал в основном методе, но это тоже не работает. FYI здесь код, используемый в CopyFiles Method
static void CopyFiles(string mostRecentFolder, string installerFolder, string installerName)
{
string sourcePath = string.Format(@"\\---network directory---\{0}\{1}", mostRecentFolder,
installerFolder, installerName);
string targetPath = string.Format(@"C:\Temp\");
if (!Directory.Exists(targetPath))
Directory.CreateDirectory(targetPath);
string sourceFile = Path.Combine(sourcePath, installerName);
string destFile = Path.Combine(targetPath, installerName);
File.Copy(sourcePath, destFile, true);
}
в этой строке 'File.Copy (sourcePath, destFile, true);' помещает точку останова и сообщает нам, что такое значение 'sourcePath и destFile' .. также лучший способ узнать, имеете ли вы доступ к сети каталог либо вручную проверит ваши разрешения, либо перейдет к этому сетевому ресурсу и посмотрит, можно ли вручную создать пустой текстовый файл. Не делайте ничего при кодировании. – MethodMan
@MethodMan оба значения - это то, что я ожидал бы от них, и вручную, я _am_ могу создать файл txt и манипулировать файлами и папками и т. д. –
вы можете показать нам значения (и) тоже это неверно .. 'string sourcePath = string.Format (@" \\ --- сетевой каталог --- \ {0} \ {1} ", mostRecentFolder, installerFolder, installerName);' где is '" {2} "' – MethodMan