Esempio n. 1
0
        private string getMSBuildPath()
        {
            string buildExecutable = null;
            var    lastVersion     = new Version();
            var    system          = _fsProxy.GetSpecialFolder(Environment.SpecialFolder.System);

            if (!_fsProxy.DirectoryExists(system))
            {
                return(buildExecutable);
            }
            var frameworkPath = Path.Combine(Path.GetDirectoryName(system), @"Microsoft.NET\Framework");
            var frameworks    = _fsProxy.GetFoldersFrom(frameworkPath, "*");

            if (frameworks != null)
            {
                foreach (var framework in frameworks)
                {
                    var version = getFrameworkVersion(framework);
                    if (version > lastVersion)
                    {
                        var file = Path.Combine(framework, "MSBuild.exe");
                        if (_fsProxy.FileExists(file))
                        {
                            lastVersion     = version;
                            buildExecutable = file;
                        }
                    }
                }
            }
            return(buildExecutable);
        }