2016-01-22 70 views
2

我目前正在開發一個ASP.NET Core 1.0項目。我想同時留在dnxcore50dnx451上。這使我現在遇到以下問題:解壓在.Net中的歸檔核心1.0

如何將zip文件從文件系統解壓縮到目錄?

"System.IO.FileSystem.Primitives": "4.0.0-beta-22816", 
"System.IO.FileSystem": "4.0.0-beta-22816" 

"frameworks": { 
    "dnx451": { 
     "frameworkAssemblies": { 
     "System.IO": "" 
     } 
    }, 
    "dnxcore50": { 
     "dependencies": { 
     "System.IO": "4.0.10-beta-*" 
     } 
    } 
    } 

隨着在project.json該配置現在我能得到一個GZipStream,但我不知道如何在流存儲到一個目錄。不幸的是,System.IO.Compression.ZipFile.ExtractToDirectory()方法中的ZipFile對象在覈心框架中不存在:/。

UPDATE:

我現在包括它的方式,並從整體上依賴刪除它:

"frameworks": { 
"dnx451": { 
    "dependencies": { 
    "System.IO.Compression.ZipFile": "4.0.1-beta-23516" 
    } 
}, 
"dnxcore50": { 
    "dependencies": { 
    "System.IO.Compression.ZipFile": "4.0.1-beta-23516" 
    } 
} 

當我使用的核心它能正常工作,但隨着運行它運行應用程序.net framework 4.6我在運行時遇到以下情況:

n處理請求時發生未處理的異常。

An unhandled exception occurred while processing the request. 
FileNotFoundException: Could not load file or assembly 'System.IO.Compression.ZipFile, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified. 
+1

嗯發現,[你確定](https://github.com/dotnet/corefx/blob/master/src/System.IO.Compression。的ZipFile/REF/System.IO.Compression.ZipFile.cs /#L15)? –

+1

thx爲您的答案。我發現我的錯誤。我使用System.IO.Compression.ZipFile 4.0.0的最後一個穩定版本,但它似乎已添加到4.0.1-beta-23516 @JoachimIsaksson –

+0

更新了我的問題。你能再幫我一次嗎? @JoachimIsaksson –

回答

1

您在project.json中需要的依賴關係如下。

"frameworks": { 
    "net451": { 
     "frameworkAssemblies": { 
     "System.IO.Compression": "4.0.0.0", 
     "System.IO.Compression.FileSystem": "4.0.0.0" 
     } 
    }, 
    "dnxcore50": { 
     "dependencies": { 
     "System.IO.Compression.ZipFile": "4.0.1-beta-23516" 
     } 
    } 
    }, 

project.json根目錄中的依賴項適用於所有使用所有運行時的包。

.net運行庫中的frameworkAssemblies與您在基於csproj的普通項目中添加的引用相同。如果你不確定要添加什麼,你可以在這裏找到裝配。 https://msdn.microsoft.com/en-us/library/mt472912(v=vs.110).aspx。您可以在這裏使用依賴關係部分來獲取任何網絡特定的引用。

說到dnxcore50,依賴關係引用直接來自nuget,但您可以使用intellisense來查找這些引用。

有關project.json更多信息可以在這裏https://github.com/aspnet/Home/wiki/Project.json-file

+0

thx,現在它按預期工作,但我在哪裏知道我必須添加哪些框架?我不知道這是如何工作的。是否有一些project.json的文檔? –

+1

我已經更新了我的答案,並提供了一些更多的信息,如果您不確定任何東西 –

+0

Thx,爲什麼它命名爲frameworkAssemblies和其他時間依賴項? –