Exemplo n.º 1
0
        public static NAnt.MSBuild.BuildEngine.Engine CreateMSEngine(NAnt.VSNet.Tasks.SolutionTask solutionTask)
        {
            if (_msbuild != null)
            {
                return(_msbuild);
            }

            try {
                _msbuild = NAnt.MSBuild.BuildEngine.Engine.LoadEngine(solutionTask.Project.TargetFramework);
            } catch (Exception e) {
                throw new BuildException(
                          String.Format(
                              "MSBuild v{0} can't be found. It is needed for building MSBuild projects. VS2005 and later is using MSBuild projects for C# and VB",
                              solutionTask.Project.TargetFramework.Version),
                          Location.UnknownLocation, e);
            }
            _msbuild.UnregisterAllLoggers();

            NAntLoggerVerbosity _verbosity = solutionTask.Verbose ? NAntLoggerVerbosity.Normal : NAntLoggerVerbosity.Minimal;
            NAntLogger          _logger    = NAntLogger.Create(solutionTask.Project.TargetFramework, solutionTask, _verbosity, _msbuild);

            if (_logger != null)
            {
                _msbuild.RegisterLogger(_logger);
            }

            solutionTask.Log(Level.Verbose, "Using MSBuild version {0}.", FileVersionInfo.GetVersionInfo(_msbuild.Assembly.Location).ProductVersion);

            return(_msbuild);
        }
Exemplo n.º 2
0
        public static NAnt.MSBuild.BuildEngine.Engine CreateMSEngine(NAnt.VSNet.Tasks.SolutionTask solutionTask) {
            if (_msbuild!=null) {
                return _msbuild;
            }

            try {
                _msbuild = NAnt.MSBuild.BuildEngine.Engine.LoadEngine(solutionTask.Project.TargetFramework);
            } catch (Exception e) {
                throw new BuildException(
                    String.Format(
                        "MSBuild v{0} can't be found. It is needed for building MSBuild projects. VS2005 and later is using MSBuild projects for C# and VB",
                        solutionTask.Project.TargetFramework.Version),
                    Location.UnknownLocation, e);
            }
            _msbuild.UnregisterAllLoggers();

            NAntLoggerVerbosity _verbosity = solutionTask.Verbose ? NAntLoggerVerbosity.Normal : NAntLoggerVerbosity.Minimal;
            NAntLogger _logger = NAntLogger.Create(solutionTask.Project.TargetFramework, solutionTask, _verbosity, _msbuild);
            if (_logger != null) {
                _msbuild.RegisterLogger(_logger);
            }
            
            solutionTask.Log(Level.Verbose, "Using MSBuild version {0}.", FileVersionInfo.GetVersionInfo(_msbuild.Assembly.Location).ProductVersion);

            return _msbuild;
        }