2011-11-10 13 views
1

含まれている場合は、発信者がZIPファイルに合格し、最終的にzipファイルを閉じるようにブロックしています。- 悪い何かをエントリ名は、これは既存のzipファイルを更新するための私のコードでフォルダ

private static void AddFiles(ZipFile zipFile, string path, string filesEntryLocation, string pattern = @"*") { 

     zipFile.BeginUpdate(); 

     string[] files = Directory.GetFiles(path, pattern); 

     foreach (string filename in files) { 
      zipFile.Add(filename, (filesEntryLocation + filename.Split(new[] { '\\' }).Last()).Replace('\\','/')); 
     } 



     zipFile.CommitUpdate(); 
    } 

あなたは私がジップにエントリを追加したzipフォルダ階層の特定の部分にあることがENTRYNAMEを設定しています見ることができるように。

私たちは、「フレームワークのWebパッケージに製品を注入するためにこれをやっている - フレームワークは、疎結合の製品をサポートしています。

結果zipはうまくいきますが、私はWindowsでそれをナビゲートできます。私はそれを抽出できます... しかし、MSDeployが来て、新しいエントリがzipフォルダ階層に追加されたところで、msdeployからエラーが出ますそれはzipを開くことができませんでしたが、その特定の場所、つまりzipが完全に壊れていない場合にのみ、msdeployが「新しい」フォルダをナビゲートし始める場所です。今

、私が変更されたzipファイルを解凍した後、(7zipをを使用して)それを再ジップ、およびそれに対して実行する場合msdeployをお願いしない場合 - それが動作は問題を。

SO - このSharpZipLibである、または私はジップフォルダ階層に追加するには何か間違ったことをやっていますか?

答えて

0

アーカイブするフォルダエントリも追加する必要があります(以前は存在しない場合)。

関連する問題