예제 #1
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="dataSet">The reflection data set to build</param>
        public BuildProcess(ReflectionDataSet dataSet)
        {
            if (dataSet == null)
            {
                throw new ArgumentNullException("dataSet");
            }

            this.dataSet = dataSet;

            workingFolder = Path.GetTempFileName();
            File.Delete(workingFolder);
            Directory.CreateDirectory(workingFolder);

            msBuildExePath = Path.Combine(ProjectCollection.GlobalProjectCollection.Toolsets.First(
                                              t => t.ToolsVersion == "12.0").ToolsPath, "MSBuild.exe");
        }
예제 #2
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="dataSet">The reflection data set to build</param>
        public BuildProcess(ReflectionDataSet dataSet)
        {
            if (dataSet == null)
            {
                throw new ArgumentNullException("dataSet");
            }

            this.dataSet = dataSet;

            workingFolder = Path.GetTempFileName();
            File.Delete(workingFolder);
            Directory.CreateDirectory(workingFolder);

            // Use the latest version of MSBuild available rather than a specific version
            string latestToolsVersion = ProjectCollection.GlobalProjectCollection.Toolsets.Max(
                t => new Version(t.ToolsVersion)).ToString();

            msBuildExePath = Path.Combine(ProjectCollection.GlobalProjectCollection.Toolsets.First(
                                              t => t.ToolsVersion == latestToolsVersion).ToolsPath, "MSBuild.exe");
        }
예제 #3
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="dataSet">The reflection data set to build</param>
        public BuildProcess(ReflectionDataSet dataSet)
        {
            this.dataSet = dataSet ?? throw new ArgumentNullException(nameof(dataSet));

            workingFolder = Path.GetTempFileName();
            File.Delete(workingFolder);
            Directory.CreateDirectory(workingFolder);

            // Use the latest version of MSBuild available rather than a specific version
            string latestToolsVersion = ProjectCollection.GlobalProjectCollection.Toolsets.FirstOrDefault(
                t => t.ToolsVersion.Equals("Current", StringComparison.OrdinalIgnoreCase))?.ToolsVersion;

            if (latestToolsVersion == null)
            {
                latestToolsVersion = ProjectCollection.GlobalProjectCollection.Toolsets.Max(
                    t => Version.TryParse(t.ToolsVersion, out Version ver) ? ver : new Version()).ToString();
            }

            msBuildExePath = Path.Combine(ProjectCollection.GlobalProjectCollection.Toolsets.First(
                                              t => t.ToolsVersion == latestToolsVersion).ToolsPath, "MSBuild.exe");
        }
예제 #4
0
        //=====================================================================

        /// <summary>
        /// This is used to load a reflection data set file
        /// </summary>
        /// <param name="filename">The reflection data set file to load</param>
        private void Load(string filename)
        {
            if (dataSet != null)
            {
                dataSet.PropertyChanged -= dataSet_PropertyChanged;
            }

            if (filename == null)
            {
                this.DataContext = dataSet = new ReflectionDataSet();
                bdAssemblyLocation.DataContext = locationsView = CollectionViewSource.GetDefaultView(dataSet.AssemblyLocations);
            }
            else
            {
                this.DataContext = dataSet = new ReflectionDataSet(filename);
                bdAssemblyLocation.DataContext = locationsView = CollectionViewSource.GetDefaultView(dataSet.AssemblyLocations);
            }

            dataSet.PropertyChanged += dataSet_PropertyChanged;
            hasChanges = false;

            this.Title = "Reflection Data Manager - [" + ((filename == null) ? "New" : Path.GetFileName(filename)) + "]";
        }
예제 #5
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="dataSet">The data set for which to build reflection data</param>
        public BuildReflectionDataDlg(ReflectionDataSet dataSet)
        {
            InitializeComponent();

            this.DataContext = this.dataSet = dataSet;
        }