title: Is there any reliable .NET Image Metadata Library?
body: <p>I was searching for some image metadata handling library with following requirements:</p>
  
  <ul>
  <li>support EXIF, IPTC and XMP</li>
  <li>support <strong>fast</strong> reading of metadata tags (e.g. for batch loading of image thumbnails with annotations)</li>
  <li>support writing metadata tags</li>
  <li>support both standard and RAW image formats</li>
  </ul>
  
  <p>I found several candidates, but each has some flaw:</p>
  
  <ul>
  <li><strong>WIC</strong> - metadata support is on per-codec basis, not possible to extract XMP or EXIF metadata from PNGs and other formats; RAW codecs may not support metadata consistently</li>
  <li><strong>Exiv2</strong> - the C# wrapper is quite old and there are problems on 64bit platforms</li>
  <li><strong>FreeImage</strong> - image has to be loaded in order to read metadata</li>
  <li><strong>Exiftool</strong> - excellent, but written in Perl and only the command-line app can be used from .NET - loading info for many images can be very slow</li>
  <li><strong>XmpUtils</strong> - unable to extract EXIF tags from other than JPEG files (tried on PNGs)</li>
  </ul>
  
  <p>I am working on photo-management application which needs to have excellent image metadata support...</p>