private async Task DownloadProjectPackage() { var packageRequest = new ProjectPackagePullRequest { ProjectPackageId = ProjectPackageId, ProjectPackageVersion = ProjectPackageVersion, }; ProjectPackagePullResponse packageResponse; try { packageResponse = await Transceiver.Send(packageRequest) .GetResponseAsync <ProjectPackagePullResponse>(); } catch (Exception error) { throw new ApplicationException($"Failed to download package '{ProjectPackageId}.{ProjectPackageVersion}'! {error.Message}"); } try { Metadata = await ProjectPackageTools.UnpackAsync(packageResponse.Filename, BinDirectory); AssemblyFilename = Path.Combine(BinDirectory, Metadata.AssemblyFilename); } finally { try { File.Delete(packageResponse.Filename); } catch (Exception error) { Log.Warn("Failed to remove temporary package file!", error); } } }
public override async Task PrepareWorkDirectoryAsync() { await base.PrepareWorkDirectoryAsync(); var metadata = await ProjectPackageTools.UnpackAsync(ProjectPackageFilename, BinDirectory); AssemblyFilename = metadata.AssemblyFilename; ScriptName = metadata.ScriptName; }