表达式表示“方法组”;,其中“变量'`值';或“type';预期

本文关键字:预期 type 变量 方法 表示 方法组 表达式 其中 | 更新日期: 2023-09-27 18:21:06

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

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及更高版本,而unity适用于.NET 3.5。我按照以下库中的命令更改了我使用的库。我现在的代码如下:

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方法。我收到以下消息(目录是现有路径):

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

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

表达式表示“方法组”;,其中“变量'`值';或“type';预期

我建议您也调用了一个方法ZipFile

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

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