Ejemplo n.º 1
0
        private void Button1Click(object sender, EventArgs e)
        {
            projectGrid.EndEdit();
            var i = 0;

            foreach (DataGridViewRow row in projectGrid.Rows)
            {
                var assemblyInfo = row.Tag as ProjectAssemblyInfo;
                var newVersion   = row.Cells[1].Value == null ? null :  row.Cells[1].Value.ToString().Trim();
                if (string.IsNullOrEmpty(newVersion) && i == 0)
                {
                    return;
                }

                if (assemblyInfo != null)
                {
                    if (assemblyInfo.Version != newVersion)
                    {
                        assemblyInfo.NewVersion = newVersion;
                        string assemblyInfoFile;
                        var    assemblyText = ProjectUtil.GetAssemblyInfo(assemblyInfo.Project, out assemblyInfoFile);

                        CheckOut(assemblyInfo, assemblyInfoFile);

                        assemblyText = Regex.Replace(assemblyText, @"AssemblyFileVersion\("".+""\)",
                                                     string.Format("AssemblyFileVersion(\"{0}\")", newVersion));
                        assemblyText = Regex.Replace(assemblyText, @"AssemblyVersion\("".+""\)",
                                                     string.Format("AssemblyVersion(\"{0}\")", newVersion));
                        FileUtil.WriteText(assemblyInfoFile, assemblyText, Encoding.Default);

                        //assemblyInfo.Project.Save();
                    }

                    if (i == 0)
                    {
                        _newVersion = newVersion;
                    }
                }

                i++;
                row.DefaultCellStyle.ForeColor = Color.Green;
            }

            ProductToRelease = new ProductInfo
            {
                CompanyName = _currentCompanyName,
                Name        = _currentProductName,
                Version     = _newVersion
            };

            DialogResult = DialogResult.OK;
        }