簡體   English   中英

使用C#和元數據提取器從.tif文件讀取元數據時引發異常

[英]Exception thrown when reading meta data from .tif file using c# and metadata extractor

我正在嘗試使用Metadata Extractor dll從.tif文件中讀取元數據,並且不斷收到FileIsNotFoundException。 當我使用.jpeg文件嘗試相同的代碼時,效果很好。

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}");

編輯 :我重新安裝了程序包,現在我的項目的程序包文件夾中有XmpCore.dll,但是我仍然看到與以前相同的異常。 適用於.jpeg和.psd文件。

嘗試打開.tiff圖像時引發異常

FileNotFoundException意味着FullPath不包含磁盤上實際存在的文件。

嘗試添加:

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

還要仔細檢查.tif和.tiff之間。

編輯您的屏幕截圖顯示丟失的文件是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>

確保您還具有相關的項目參考。

在使用上述packages.config構建新的.NET 4.5控制台項目之后, bin/Debug文件夾如下所示:

在此處輸入圖片說明

packages文件夾的內容:

在此處輸入圖片說明

我通過將解決方案資源管理器中“引用”下的XmpCore的“復制本地”屬性更改為True來解決了該異常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM