如何在不提取

时间:2017-05-19 01:51:21

标签: c# .net reflection zip

我可以使用以下方法检索zip文件中的文件列表:

 var files = ZipFile.Open(_buildPath, ZipArchiveMode.Read).
             Entries.Select(x => x.Name).ToArray();

但需要获取文件的版本信息:

var randomEntry= ZipFile.Open(_buildPath, ZipArchiveMode.Read).
     Entries.Where(x => x.Name == "Random.EXE").FirstOrDefault(); 
     FileVersionInfo.GetVersionInfo(randomEntry);

有没有办法可以对zip文件内容使用反射。

1 个答案:

答案 0 :(得分:0)

您可以将文件解压缩到临时文件中,获取版本信息并将其删除。我认为这是你能做的最好的事情。用于读取版本信息的本机Win32 API也需要路径而不仅仅是流。

https://msdn.microsoft.com/en-us/library/windows/desktop/ms647003(v=vs.85).aspx