Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A .NET-keretrendszer 4.6.1-et megcélzó alkalmazásoktól kezdve a tulajdonságban ZipArchiveEntry.FullName használt elérési útelválasztó a .NET-keretrendszer korábbi verzióiban használt fordított perjelről ("\") egy perjelre ("/") módosult. System.IO.Compression.ZipArchiveEntry az objektumok a metódus egyik túlterhelésének ZipFile.CreateFromDirectory meghívásával jönnek létre.
Hatás
A változás a .NET-implementációt a .ZIP fájlformátum specifikációjának 4.4.17.1 szakaszával összhangban hozza létre, és lehetővé teszi .ZIP archívumok tömörítését a nem Windows rendszerű rendszereken.
Az alkalmazás által létrehozott zip-fájlok kibontása, amely a .NET-keretrendszer egy korábbi verzióját célozza nem Windows rendszerű operációs rendszereken, például MacOS-en, nem tudja megőrizni a címtárstruktúrát. MacOS rendszeren például létrehoz egy fájlkészletet, amelynek fájlneve összefűzi a könyvtár elérési útját, a fordított perjel ("\") karaktereket és a fájlnevet. Ennek eredményeképpen a tömörített fájlok könyvtárszerkezete nem marad meg.
Ennek a változásnak a .NET-keretrendszer System.IO névterében az API-k által a Windows operációs rendszeren tömörített .ZIP fájlokra gyakorolt hatása minimális, mivel ezek az API-k zökkenőmentesen kezelhetik a perjelet ("/") vagy a fordított perjelet ("\") elérési útelválasztó karakterként.
Enyhítés
Ha ez a viselkedés nem kívánatos, kikapcsolhatja, ha hozzáad egy konfigurációs beállítást az <alkalmazáskonfigurációs fájl futtatókörnyezeti> szakaszához. Az alábbiakban a <runtime> szakasz és az opt-out kapcsoló is látható.
<runtime>
<AppContextSwitchOverrides value="Switch.System.IO.Compression.ZipFile.UseBackslash=true" />
</runtime>
Emellett azok az alkalmazások, amelyek a .NET-keretrendszer korábbi verzióit célozzák, de a .NET-keretrendszer 4.6.1-es és újabb verzióiban futnak, az alkalmazáskonfigurációs fájl futtatókörnyezeti< szakaszához hozzáadva> engedélyezhetik ezt a viselkedést. Az alábbiakban a <runtime> szakasz és az opt-in kapcsoló is látható.
<runtime>
<AppContextSwitchOverrides value="Switch.System.IO.Compression.ZipFile.UseBackslash=false" />
</runtime>