Ausnahmebedingung "Kann das nicht als Zip-Datei lesen" beim Versuch, einen Stream aus einer inneren Zip-Datei (einer Zip-Datei in einer anderen Zip-Datei) abzurufen

In C # verwende ich dieDotNetZip Ich habe eine Zip-Datei mit dem Namen "innerZip.zip", die einige Daten enthält, und eine weitere Zip-Datei mit dem Namen "outerZip.zip", die die innere Zip-Datei enthält. Warum mache ich das so? Nun, wenn Sie das Passwort festlegen, gilt das Passwort tatsächlich für einzelne Einträge, die zum Archiv hinzugefügt werden, und nicht für das gesamte Archiv. Wenn Sie diese innere / äußere Kombination verwenden, könnte ich einen Pass für den gesamten inneren Reißverschluss festlegen, da es sich um einen Eintrag des handelt äußere.

Das Problem ist, dass Code besser spricht als normale Wörter:

ZipFile outerZip = ZipFile.Read("outerZip.zip");
outerZip.Password = "VeXe";
Stream innerStream = outerZip["innerZip.zip"].OpenReader();
ZipFile innerZip = ZipFile.Read(innerStream); // I'm getting the exception here.
innerZip["Songs\\IronMaiden"].Extract(tempLocation);

Warum bekomme ich diese Ausnahme? Die innere Datei ist eine Zip-Datei, also sollte ich diese Ausnahme nicht richtig verstehen? Gibt es eine Möglichkeit, dies zu umgehen, oder muss ich nur die innere aus der äußeren herausziehen und dann darauf zugreifen?

Vielen Dank im Voraus ..

Antworten auf die Frage(1)

Ihre Antwort auf die Frage