Beispiel #1
0
        /// <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 MenuItemCallback(object sender, EventArgs e)
        {
            var dte = Host.Instance.Dte2;

            _project = dte.GetActiveProejct();

            //Common.CheckTfs(_project);
            _assemblyInfo = null;
            _ppp          = null;
            if (_project.IsSdkBased())
            {
                _ppp                 = _project.GetPackageProjectProperties();
                _metadata            = _ppp.ToManifestMetadata();
                _directoryBuildProps = Host.Instance.DTE.Solution.GetDirectoryBuildProps();
                var form = new MsbuildDeployWizard(_metadata, _ppp, _directoryBuildProps);
                form.StartPosition = FormStartPosition.CenterScreen;
                if (form.ShowDialog() == DialogResult.OK)
                {
                    form.SaveAndBuild();
                }
            }
            else
            {
                _nuspecFile = _project.GetNuSpecFilePath();
                if (!File.Exists(_nuspecFile))
                {
                    var dr = VsShellUtilities.ShowMessageBox(this.ServiceProvider,
                                                             $"Miss {NuGetDomain.NuSpecFileName} file,would you add it now?", "Warning",
                                                             OLEMSGICON.OLEMSGICON_WARNING, OLEMSGBUTTON.OLEMSGBUTTON_YESNO,
                                                             OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST);
                    if (dr != 6)
                    {
                        return;
                    }
                    new AddNuSpecCommand().Execute();
                }

                _assemblyInfo = _project.GetProjectAssemblyInfo();
                if (string.IsNullOrWhiteSpace(_assemblyInfo.FileVersion))
                {
                    _assemblyInfo.FileVersion = _assemblyInfo.Version;
                }
                _metadata = _project.GetManifestMetadata();

                var form = new DeployWizard(_metadata, _assemblyInfo, _ppp);
                form.StartPosition = FormStartPosition.CenterScreen;
                if (form.ShowDialog() == DialogResult.OK)
                {
                    form.SaveAndBuild();
                }
            }
        }
Beispiel #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            var w = new DeployWizard();

            w.ShowDialog();
        }
Beispiel #3
0
        /// <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 MenuItemCallback(object sender, EventArgs e)
        {
            var dte = Host.Instance.Dte2;

            _project = dte.GetActiveProejct();
            Common.CheckTfs(_project);

            _dir        = _project.GetDirectory();
            _nuspecFile = Path.Combine(_dir, NuGetDomain.NuSpecFileName);
            if (!File.Exists(_nuspecFile))
            {
                var dr = VsShellUtilities.ShowMessageBox(this.ServiceProvider, $"Miss {NuGetDomain.NuSpecFileName} file,would you add it now?", "Warning",
                                                         OLEMSGICON.OLEMSGICON_WARNING, OLEMSGBUTTON.OLEMSGBUTTON_YESNO, OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST);
                if (dr != 6)
                {
                    return;
                }
                new AddNuSpecCommand().Execute();
            }

            _assemblyInfo = _project.GetProjectAssemblyInfo();
            _xmlDoc       = new XmlDocument();
            _xmlDoc.Load(_nuspecFile);
            var xml = _xmlDoc.InnerXml;

            _nupack = XmlSerializerHelper.LoadObjectFromXmlString <NuGet.Package>(xml);

            var packageFields  = new List <string>();
            var assemblyFields = new List <string>();

            if (_nupack.Metadata.Id.IsEmptyOrPlaceHolder() && string.IsNullOrWhiteSpace(_assemblyInfo.Title))
            {
                packageFields.Add("id");
                assemblyFields.Add("AssemblyTitle");
            }
            if (_nupack.Metadata.Authors.IsEmptyOrPlaceHolder() && string.IsNullOrWhiteSpace(_assemblyInfo.Company))
            {
                packageFields.Add("authors");
                assemblyFields.Add("AssemblyCompany");
            }
            if (_nupack.Metadata.Description.IsEmptyOrPlaceHolder() && string.IsNullOrWhiteSpace(_assemblyInfo.Description))
            {
                packageFields.Add("description");
                assemblyFields.Add("AssemblyDescription");
            }


            if (assemblyFields.Count > 0)
            {
                var assemblyInfoFile = _project.GetAssemblyInfoFileName();

                if (File.Exists(assemblyInfoFile))
                {
                    VsShellUtilities.ShowMessageBox(this.ServiceProvider,
                                                    $"{string.Join("/", assemblyFields)} required,please edit {Path.GetFileName(assemblyInfoFile)} at first.", "Warning",
                                                    OLEMSGICON.OLEMSGICON_WARNING, OLEMSGBUTTON.OLEMSGBUTTON_OK,
                                                    OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST);

                    dte.ItemOperations.OpenFile(assemblyInfoFile);
                }
                else
                {
                    VsShellUtilities.ShowMessageBox(this.ServiceProvider,
                                                    $"{string.Join("/", packageFields)} required,please edit package.nuspec at first.", "Warning",
                                                    OLEMSGICON.OLEMSGICON_WARNING, OLEMSGBUTTON.OLEMSGBUTTON_OK,
                                                    OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST);

                    dte.ItemOperations.OpenFile(_nuspecFile);
                }
                return;
            }

            MergePackagesConfig();

            var form = new DeployWizard(_assemblyInfo, _nupack, _xmlDoc);

            if (form.ShowDialog() == DialogResult.OK)
            {
                form.SaveAndBuild();
            }
        }