尽管解锁,文件仍保持锁定状态

File remains locked despite unlocking

为什么我要删除这个文件时会收到IOException?确定是我解锁了?显然另一个进程仍在使用该文件,尽管没有以其他方式触及它。

using (var lockFile = new FileStream(lockFilePath, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
{
    try
    {
        var productCount = downloadStuff();
    }
    catch (Exception e)
    {

    }
    finally
    {
        lockFile.Unlock(0,lockFile.Length);
        File.Delete(lockFilePath);
    }

}

我认为您的问题是由于调用 File.Delete.
时文件仍处于打开状态引起的 尝试将 File.Delete 调用移出 using 块:

using (var lockFile = new FileStream(lockFilePath, ...))
{
    ...
}
File.Delete(lockFilePath);

或者在File.Delete之前直接调用lockFile.Close:

finally
{
    lockFile.Close();
    File.Delete(lockFilePath);
}