表达式表示“方法组”,其中“变量”,“值”和“#”;或'键入'预计

时间:2015-11-09 09:22:37

标签: c# zip

我有一个存储Unity项目文件的项目。我想要的是找到这些文件并压缩它们。我想使用ZipFile Class。我的代码非常简单如下:

string dataSource = @"D:\\dt\\2015-11-09-11\\";
string zipFile = @"D:\\dt\\2015-11-09-11\\file.zip";
ZipFile.CreateFromDirectory(dataSource, zipFile, CompressionLevel.Fastest, true);

但是我从统一中得到错误:

  

Assets / file.cs(54,25):错误CS0119:表达式表示method group', where a变量',value' or类型'预计

我在这里做错了什么?

编辑:问题在于ZipFile类适用于.NET 4.5及更高版本,而统一适用于.NET 3.5。我按照以下lib的通信中的建议更改了我使用的库。我现在的代码如下:

string dataSource = @"D:\\data\\2015-11-09-11-11-37-3286";
FileStream fsOut = File.Create(dataSource);
ZipOutputStream zipStream = new ZipOutputStream(fsOut);
zipStream.SetLevel(3);
int folderOffset = dataSource.Length + (dataSource.EndsWith("\\") ? 0 : 1);
CompressFolder(dataSource, zipStream, folderOffset);        
zipStream.IsStreamOwner = true; // Makes the Close also Close the underlying stream
zipStream.Close();

CompressFolder方法可以找到here。我收到以下消息(目录是现有路径):

  

DirectoryNotFoundException:找不到路径的一部分" D:\ data \ 2015-11-09-11-11-37-3286"。   System.IO.FileStream..ctor

问题位于建议代码FileStream out = File.Create(dataSource);

的第二行

2 个答案:

答案 0 :(得分:1)

在肢体上,我建议您也调用方法ZipFile

将其重命名为不与类名冲突的内容或使用Using alias = ...声明。

答案 1 :(得分:0)

我想我明白了。 Unity在浏览未知目录时遇到问题。当我将目录更改为Unity可以访问的文件夹时,一切正常。