mono と monobjc を使用して、Mac OS X 10.6 で実行するアプリケーションを開発しています。ICSharpCode.SharpZip を使用して、いくつかのファイルを zip ファイルに追加しています。コードは次のとおりです-
var ms = new MemoryStream();
var zipStream = new ZipOutputStream(ms);
zipStream.PutNextEntry(new ZipEntry(Path.GetFileName(file))
{DateTime = File.GetCreationTime(file),
Size = new FileInfo(file).Length});
常にではありませんが、PutNewEntry コードが次の例外をスローする場合があります -
System.NotSupportedException: System.Text.Encoding.GetEncoding (Int32 codepage) [0x00000] でサポートされていない CodePage 437 .SharpZipLib.Zip.ZipConstants.ConvertToArray (Int32 フラグ、System.String str) [0x00000] in :0 at ICSharpCode.SharpZipLib.Zip.ZipOutputStream.PutNextEntry (ICSharpCode.SharpZipLib.Zip.ZipEntry エントリ) [0x00000] in :0 at (wrapper remoting-invoke-with-check) ICSharpCode.SharpZipLib.Zip.ZipOutputStream:PutNextEntry (ICSharpCode.SharpZipLib.Zip.ZipEntry)
次の2つの質問があります-
- 上記の例外の原因は何ですか。
- ICSharp は最適なオプションではないようです。より良い代替手段は何ですか?.