/// <summary> /// This function is the callback used to execute the command when the menu item is clicked. /// See the constructor to see how the menu item is associated with this function using /// OleMenuCommandService service and MenuCommand class. /// </summary> /// <param name="sender">Event sender.</param> /// <param name="e">Event args.</param> private void Execute(object sender, EventArgs e) { ThreadHelper.ThrowIfNotOnUIThread(); try { //string message = string.Format(CultureInfo.CurrentCulture, "Inside {0}.MenuItemCallback()----", this.GetType().FullName); //string title = "Push"; //// Show a message box to prove we were here //VsShellUtilities.ShowMessageBox( // this.package, // message, // title, // OLEMSGICON.OLEMSGICON_INFO, // OLEMSGBUTTON.OLEMSGBUTTON_OK, // OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST); var projInfo = GetSelectedProjInfo(); if (projInfo == null) { throw new Exception("您还未选中项目"); } var projModel = projInfo.AnalysisProject(); if (projModel == null) { throw new Exception("项目信息解析失败"); } OptionPageGrid settingInfo = TPublishService.GetSettingPage(); if (string.IsNullOrWhiteSpace(settingInfo?.IpAdress)) { throw new Exception("请先完善设置信息"); } var form = new DeployForm(); var iniRes = form.Ini(projModel); if (iniRes.IsSucceed) { form.Show(); } else { MessageBox.Show(iniRes.Message); } } catch (Exception exception) { MessageBox.Show(exception.Message); } }
private void bwUploadZip_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { string pathTmp = _projModel.LibDebugPath; if (_projModel.ProjType == "Library") { pathTmp = new DirectoryInfo(pathTmp).Parent?.FullName ?? pathTmp; } string zipFullPath = Path.Combine(pathTmp, _projModel.LibName + ".zip"); if (bwUploadZip.CancellationPending) { e.Cancel = true; return; } bwUploadZip.ReportProgress(50, "压缩文件中..."); ZipHelper.ZipManyFilesOrDictorys(_projModel.LastChooseInfo.LastChoosePublishFiles, zipFullPath, _projModel.LastChooseInfo.LastChoosePublishDir); NameValueCollection dic = new NameValueCollection(); dic.Add("Type", _projModel.ProjType == "Library" ? "iis" : "exe"); dic.Add("AppId", e.Argument.ToString()); if (bwUploadZip.CancellationPending) { e.Cancel = true; return; } bwUploadZip.ReportProgress(90, "文件上传中..."); string url = $"{TPublishService.GetSettingPage().GetApiUrl()}/UploadZip"; string uploadResStr = HttpHelper.HttpPostData(url, 30000, _projModel.LibName + ".zip", zipFullPath, dic); var uploadRes = uploadResStr.DeserializeObject <Result>(); string msg = uploadRes.IsSucceed ? "部署成功" : "部署失败:" + uploadRes.Message; bwUploadZip.ReportProgress(100, msg); }