title: Releasing resources - artwork tag of TagLib file
body: <p>In my C# application I'm creating tags for mp3 files. For this I use the TagLib library/extension.</p>
  
  <p>One of the tags is the artwork. I can successfully add the artwork to the mp3's tag by using:</p>
  
  <pre><code>TagLib.File f = TagLib.File.Create(path);
  IPicture[] pictures = new IPicture[1];
  pictures[0] = new Picture(artwork);
  f.Tag.Pictures = pictures;
  </code></pre>
  
  <p><code>path</code> is the full path to the mp3, <code>artwork</code> is the full path to the artwork.</p>
  
  <p>After assigning to the Pictures tag, I use:</p>
  
  <pre><code>f.Save();
  f.Dispose();
  </code></pre>
  
  <p>Now, it is also in my interest to move the artwork file to another location on the computer.</p>
  
  <p>For this I use:</p>
  
  <pre><code>File.Move(pathArtOrig, pathArtNew);
  </code></pre>
  
  <p><code>pathArtOrig</code> is the current full path of the artwork file, and <code>pathArtNew</code> is the full path of where it's going to be moved to.</p>
  
  <p>The problem is the fact that I get the following error:</p>
  
  <blockquote>
    <p>IOException was unhandled. The process cannot access the file because
    it is being used by another process.</p>
  </blockquote>
  
  <p>I have simply no idea to "release" the resource of the artwork file used (it could be a .jpg file). As you can see, I tried with Dispose() above, but that's not doing the trick.</p>
  
  <p>Any help is appreciated.</p>