从Azure Blob Storage下载DLL后属性丢失,手动下载正常如何解决?
解决Azure Blob下载DLL后版本属性丢失的问题
问题根源
你当前的代码没有正确管理文件流的生命周期,导致下载的DLL数据未完全写入磁盘,系统无法识别其版本元数据。手动下载时浏览器会自动处理完整的文件写入流程,所以属性正常显示。
修复方案1:正确管理流资源
用using语句包裹文件流,确保下载完成后流被自动关闭并将数据刷新到磁盘:
var filePath = Path.Combine(downloadPath, blobName); var blobClient = new BlobClient(connectionString, containerName, blobName); using (var fileStream = File.OpenWrite(filePath)) { blobClient.DownloadTo(fileStream); fileStream.Flush(); }
修复方案2:使用内置的文件下载方法
直接调用DownloadToFile方法,它内部已封装了完整的流管理逻辑,更简洁可靠:
var blobClient = new BlobClient(connectionString, containerName, blobName); blobClient.DownloadToFile(Path.Combine(downloadPath, blobName), FileMode.Create);
内容的提问来源于stack exchange,提问作者devva
相关产品推荐
相关产品推荐

