diff --git a/SHFB/Source/SandcastleBuilderGUI/MainForm.cs b/SHFB/Source/SandcastleBuilderGUI/MainForm.cs index 7c7f9852..a50392fd 100644 --- a/SHFB/Source/SandcastleBuilderGUI/MainForm.cs +++ b/SHFB/Source/SandcastleBuilderGUI/MainForm.cs @@ -2,8 +2,8 @@ // System : Sandcastle Help File Builder // File : MainForm.cs // Author : Eric Woodruff (Eric@EWoodruff.us) -// Updated : 04/25/2021 -// Note : Copyright 2006-2021, Eric Woodruff, All rights reserved +// Updated : 11/04/2022 +// Note : Copyright 2006-2022, Eric Woodruff, All rights reserved // // This file contains the main form for the application. // @@ -252,8 +252,6 @@ private IDockContent DeserializeState(string persistString) /// True if it must exist or false if it is a new, unnamed project private void CreateProject(string projectName, bool mustExist) { - List values; - project = new SandcastleProject(projectName, mustExist, false); projectExplorer.CurrentProject = projectProperties.CurrentProject = project; @@ -264,12 +262,14 @@ private void CreateProject(string projectName, bool mustExist) this.UpdateFilenameInfo(); // Get the configuration and platform values - values = project.MSBuildProject.ConditionedProperties["Configuration"]; - tcbConfig.Items.Clear(); + tcbPlatform.Items.Clear(); - foreach(string value in values) - tcbConfig.Items.Add(value); + if(project.MSBuildProject.ConditionedProperties.TryGetValue("Configuration", out var values)) + { + foreach(string value in values) + tcbConfig.Items.Add(value); + } if(tcbConfig.Items.Count == 0) { @@ -277,12 +277,11 @@ private void CreateProject(string projectName, bool mustExist) tcbConfig.Items.Add("Release"); } - values = project.MSBuildProject.ConditionedProperties["Platform"]; - - tcbPlatform.Items.Clear(); - - foreach(string value in values) - tcbPlatform.Items.Add(value); + if(project.MSBuildProject.ConditionedProperties.TryGetValue("Platform", out values)) + { + foreach(string value in values) + tcbPlatform.Items.Add(value); + } if(tcbPlatform.Items.Count == 0) tcbPlatform.Items.Add("AnyCPU"); diff --git a/SHFB/Source/SandcastleBuilderUtils/MSBuild/MSBuildProject.cs b/SHFB/Source/SandcastleBuilderUtils/MSBuild/MSBuildProject.cs index 861fedff..6d758540 100644 --- a/SHFB/Source/SandcastleBuilderUtils/MSBuild/MSBuildProject.cs +++ b/SHFB/Source/SandcastleBuilderUtils/MSBuild/MSBuildProject.cs @@ -344,8 +344,11 @@ public string TargetFramework if(properties == null) throw new InvalidOperationException("Configuration has not been set"); - if(properties.TryGetValue("TargetFramework", out ProjectProperty prop)) + if(properties.TryGetValue("TargetFramework", out ProjectProperty prop) && + !String.IsNullOrWhiteSpace(prop.EvaluatedValue)) + { return prop.EvaluatedValue; + } // If multi-targeting, return the requested target type if present or the first one if not if(this.TargetFrameworks.Any())