SevenZipSharpライブラリを使用して、マルチボリューム7zファイルを生成しました。SevenZipSharpを使用してマルチボリューム7zファイルを抽出するには?
私が持っている問題は、私はファイルを抽出しようとすると、私は無効なキャストについての例外を取得することです:
型のオブジェクトをキャストすることができません
「SevenZip.InMultiStreamWrapper」タイプへ'SevenZip.InStreamWrapper'
例外をスローする方法は、SevenZipExtractor.Check()
です。
この
は、抽出問題を再現するためにVb.Netで書かれたサンプルコードですが、私はまた、C#ソリューション受け入れることができます:私が持っているマルチボリュームファイルで、整合性チェックを無視するとPublic Overridable Function Extract(ByVal sourceFilePath As String,
ByVal outputDirectorypath As String,
ByVal password As String) As String
If String.IsNullOrEmpty(password) Then
Me.extractor = New SevenZipExtractor(sourceFilePath)
Else
Me.extractor = New SevenZipExtractor(sourceFilePath, password)
End If
' Check for password matches doing an integrity check.
If Me.extractor.Check() Then
' Start the extraction.
Me.extractor.ExtractArchive(outputDirectorypath)
Else
Throw New Exception(
"Failed to extract, maybe the provided password does not match?.")
End If
Return outputDirectorypath
End Function
をパスワードが設定されている場合、別の例外が発生するため、私はそれを抽出できません...
Probabllyはソースコードのバグですが、ライブラリがマルチボリュームの抽出をサポートしていないというのは非常に奇妙ですファイル...