2016-10-19 2 views
0

Я пытаюсь прочитать метаданные из .tif-файла, используя dll Metadata Extractor, и продолжаю получать исключение FileIsNotFoundException. Он отлично работает, когда я пытаюсь использовать тот же код, используя файл .jpeg.Исключение при чтении метаданных из .tif-файла с использованием C# и экстрактора метаданных

FileStream OriginalFile = new FileStream(FullPath, FileMode.Open, FileAccess.Read, FileShare.Read); 
IEnumerable<MetadataExtractor.Directory> directories = ImageMetadataReader.ReadMetadata(OriginalFile); 
foreach (var directory in directories) 
    foreach (var tag in directory.Tags) 
     Console.WriteLine($"{directory.Name} - {tag.Name} = {tag.Description}"); 

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

Exception thrown when trying open a .tiff image

ответ

0

Я решил исключение, изменив свойство Copy Local на True для XmpCore в разделе Ссылки в обозревателе решений ,

0

FileNotFoundException означает, что ваш FullPath не содержит файл, который на самом деле на диске.

Попробуйте добавить:

Console.WriteLine(FullPath); 
Console.WriteLine(File.Exists(FullPath)); 

Также двойная проверка между .tif и .tiff.

EDIT Ваш скриншот показывает недостающий файл: XmpCore.dll. Когда вы добавили ссылку NuGet на MetadataExtractor, вы также должны были подобрать XmpCore.

Вот пример packages.config:

<?xml version="1.0" encoding="utf-8"?> 
<packages> 
    <package id="MetadataExtractor" version="1.5.3" targetFramework="net45" /> 
    <package id="SharpZipLib" version="0.86.0" targetFramework="net45" /> 
    <package id="XmpCore" version="1.2.2" targetFramework="net45" /> 
</packages> 

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

После создания нового проекта .NET 4.5 консольный с выше packages.config папка bin/Debug выглядит следующим образом:

enter image description here

И содержимое папки packages:

enter image description here

+0

Я уже проверил использование 'File.Exists' и возвращает True. – AkVenu

+0

Можете ли вы опубликовать полную статистику стека вашей ошибки? –

+0

! [Valid XHTML] (http://pasteboard.co/hkkPa8LRs.png) – AkVenu

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