Как понятно из заголовка, у меня есть программа, которая проверяет, существует ли каталог, прежде чем продолжить.
И когда проверка сделана, она говорит, что каталог не существует, когда он существует!
Вот код для сохранения пути к каталогу:
string currentDirectory = Path.GetDirectoryName(Application.ExecutablePath);
Console.WriteLine("----" + currentDirectory.ToString());
string tesseractPath = Path.Combine(currentDirectory, @"..\..\..\tesseract");
_wrapper = new AsyncTesseractWrapper(tesseractPath);
public TesseractWrapper(string programLoc)
{
DirectoryInfo dinfo = new DirectoryInfo(programLoc);
//DirectoryInfo dinfo = new DirectoryInfo("C:\\Windows");
ValidateTesseractDirectory(dinfo);
_tesseractLocation = dinfo.FullName;
}
И код для выполнения проверки:
private void ValidateTesseractDirectory(DirectoryInfo dinfo)
{
if (!dinfo.Exists)
throw new ArgumentException("Specified program directory must exist.");
FileInfo[] files;
files = dinfo.GetFiles(_tessExe);
if (files.Length != 1)
throw new ArgumentException("Specified program directory must contain tesseract.exe.");
}
Я пробовал отлаживать несколько вариантов, например проверять, существует ли папка C:\Windows, но она все равно выдает ошибку...
Что-то не так с кодом или моим пониманием метода .Exists...?
Спасибо!
Directory.Exists()
? Есть ли в вашей среде что-то необычное, например, виртуальная машина? - person Patrick Quirk   schedule 23.11.2012tesseractPath
вычисленное значение? - person Steve B   schedule 23.11.2012console.writeline
это, это то, что я получаю (довольно длинно): C:\Users\Sulaiman\Desktop\Programming\Visual Studio 2010\Projects\PDF_Image_to_Excel_Converter\Image-OCR\Atlasoft\TesseractLancher Files\tesseract И это действительно существует . Я мог скопировать / вставить его в проводник, и папка открылась. - person Sulaiman   schedule 23.11.2012