当前位置: 首页>>代码示例>>C#>>正文


C# Version.IsValid方法代码示例

本文整理汇总了C#中System.Version.IsValid方法的典型用法代码示例。如果您正苦于以下问题:C# Version.IsValid方法的具体用法?C# Version.IsValid怎么用?C# Version.IsValid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Version的用法示例。


在下文中一共展示了Version.IsValid方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CheckForUpdates

        /// <summary>
        /// Esegue il controllo sulle versioni e lancia il programma di aggiornamento.
        /// </summary>
        private void CheckForUpdates()
        {
            string theVersion = null;
            if (this.myVersion == null)
            {
                var myDir = System.Reflection.Assembly.GetExecutingAssembly().Location;
                myDir = System.IO.Path.GetDirectoryName(myDir);
                var myFiles = System.IO.Directory.GetFiles(myDir);
                string myManifest = null;
                foreach (var f in myFiles)
                {
                    if (f.ToLower().EndsWith(".vsixmanifest"))
                    {
                        myManifest = f;
                        break;
                    }
                }

                if (myManifest == null)
                {
                    return;
                }

                using (var theFile = System.IO.File.OpenRead(myManifest))
                {
                    var xml = System.Xml.XmlReader.Create(theFile);
                    xml.ReadToFollowing("Version");
                    theVersion = xml.ReadString();
                    xml.Close();
                }

                if (theVersion == null)
                {
                    return;
                }

                this.myVersion = new Version(theVersion);
                if (!this.myVersion.IsValid())
                {
                    this.myVersion = null;
                    return;
                }
            }

            if (System.IO.Directory.Exists(@"S:\AlmaStyleFix\Updates"))
            {
                var files = new System.Collections.Generic.List<string>();
                files.AddRange(System.IO.Directory.GetFiles(@"S:\AlmaStyleFix\Updates"));
                for (int i = 0; i < files.Count; i++)
                {
                    if (!files[i].EndsWith(".vsix"))
                    {
                        files.RemoveAt(i--);
                    }
                }

                if (files.Count > 0)
                {
                    string fileToUpdate = null;
                    foreach (var f in files)
                    {
                        var theFileVersion = new Version(f);
                        if (!theFileVersion.IsValid())
                        {
                            continue;
                        }

                        if (theFileVersion > this.myVersion)
                        {
                            fileToUpdate = f;
                            break;
                        }
                    }

                    if (fileToUpdate != null)
                    {
                        if (this.Question(this.locRM.GetString("Update")))
                        {
                            var commonFolder = Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFilesX86);
                            commonFolder += "\\microsoft shared\\MSEnv\\";
                            var launcher = commonFolder + "VSLauncher.exe";

                            var pi = new System.Diagnostics.ProcessStartInfo();
                            pi.FileName = launcher;
                            pi.Arguments = fileToUpdate;

                            var p = new System.Diagnostics.Process();

                            p.StartInfo = pi;
                            p.Start();
                        }
                    }
                }
            }
        }
开发者ID:AlmatoolboxCE,项目名称:AlmaStyleFix,代码行数:98,代码来源:AlmaStyleFixPackage.cs


注:本文中的System.Version.IsValid方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。