{
  "WorkItem": {
    "AffectedComponent": {
      "Name": "",
      "DisplayName": ""
    },
    "ClosedComment": "fixed in changeset 33393.  First bin&#58;  v1.8.3.29",
    "ClosedDate": "2009-06-19T03:51:22.287-07:00",
    "CommentCount": 0,
    "Custom": null,
    "Description": "When I'm creating a zip file with ZipIt, I get an error if I try to include today's (live) log files.  Winzip command line can can work with open files like this, although it throws a warning it works ok. I really want the ability to include open files without having to resort to a kludgy workaround like copying the files to a new location before including them, because windows CAN copy the files even though they are open.\n \nThis message is associated to error 33 in WinError.h, or HResult 0x80070021 .  The mnemonic is ERROR_LOCK_VIOLATION.  see http://msdn.microsoft.com/en-us/library/ms681382.aspx for info.\n \n7zip has the same problem as dotnetzip.\n \nI don't see an elegant way to do this unless I use winzip command line, which requires the full winzip installation as a pre-req, but I'd rather use something small/elegant like 7zip or dotnetzip that's a simple single exe. Anyone know of something that could help?\n \n-J\n \n adding 20090603\\SMSLog_20090603.CSV...\nSaving....\nException: System.IO.IOException: The process cannot access the file because another process has locked a portion of the file.\n \n   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)\n   at System.IO.FileStream.ReadCore(Byte[] buffer, Int32 offset, Int32 count)\n   at System.IO.FileStream.Read(Byte[] array, Int32 offset, Int32 count)\n   at Ionic.Zip.CrcCalculatorStream.Read(Byte[] buffer, Int32 offset, Int32 count)\n   at Ionic.Zip.ZipEntry._WriteFileData(Stream s)\n   at Ionic.Zip.ZipEntry._EmitOne(Stream outstream)\n   at Ionic.Zip.ZipEntry.Write(Stream outstream)\n   at Ionic.Zip.ZipFile.Save()\n   at Ionic.Zip.Examples.ZipIt.Main(String[] args)",
    "LastUpdatedDate": "2013-05-16T05:32:18.493-07:00",
    "PlannedForRelease": "",
    "ReleaseVisibleToPublic": false,
    "Priority": {
      "Name": "Low",
      "Severity": 50,
      "Id": 1
    },
    "ProjectName": "DotNetZip",
    "ReportedDate": "2009-06-13T13:18:55.557-07:00",
    "Status": {
      "Name": "Closed",
      "Id": 4
    },
    "ReasonClosed": {
      "Name": "Unassigned"
    },
    "Summary": "dotnetzip does not handle error 0x80070021 - \"cannot access the file because another process has locked a portion of the file\"",
    "Type": {
      "Name": "Issue",
      "Id": 3
    },
    "VoteCount": 1,
    "Id": 7889
  },
  "FileAttachments": [
    {
      "FileId": 1991,
      "FileName": "Special1.zip",
      "DownloadUrl": ".\\1991"
    }
  ],
  "Comments": [
    {
      "Message": "One way to handle this is to retry during the read operation.  I could do this with an extension method.",
      "PostedDate": "2009-06-18T13:20:17.097-07:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2009-06-19T03:51:22.287-07:00",
      "Id": -2147483648
    },
    {
      "Message": "Hello,\r\n\r\nI got this error again, please see this thread for more information (http://dotnetzip.codeplex.com/Thread/View.aspx?ThreadId=58378).\r\n\r\nThanks\r\n-Blake Niemyjski\r\n",
      "PostedDate": "2009-09-16T05:29:23.35-07:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2013-02-21T18:44:14.547-08:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2013-05-16T05:32:18.493-07:00",
      "Id": -2147483648
    }
  ]
}