public async Task DownloadByond(ByondVersion version) { using (var response = await httpclient.SendAsync(new HttpRequestMessage(HttpMethod.Get, GetDownloadUrl(version)))) using (var stream = await response.Content.ReadAsStreamAsync()) using (var archive = new ZipArchive(stream, ZipArchiveMode.Read)) archive.ExtractToDirectory(GetByondDirectoryPath(version), true); using (var versionData = File.Create(GetByondDirectoryPath(version, "version.dat"))) version.WriteTo(versionData); }