public override void UpgradeProject(CompilerVersion newVersion, TargetFramework newFramework) { if (!Project.ReadOnly) { lock (Project.SyncRoot) { TargetFramework oldFramework = Project.CurrentTargetFramework; if (newVersion != null && GetAvailableCompilerVersions().Contains(newVersion)) { Project.SetToolsVersion(newVersion.MSBuildVersion.Major + "." + newVersion.MSBuildVersion.Minor); } if (newFramework != null) { UpdateAppConfig(newFramework); ClientProfileTargetFramework clientProfile = newFramework as ClientProfileTargetFramework; if (clientProfile != null) { newFramework = clientProfile.FullFramework; ((MSBuildBasedProject)Project).SetProperty(null, null, "TargetFrameworkProfile", "Client", PropertyStorageLocations.Base, true); } else { ((MSBuildBasedProject)Project).SetProperty(null, null, "TargetFrameworkProfile", "", PropertyStorageLocations.Base, true); } ((MSBuildBasedProject)Project).SetProperty(null, null, "TargetFrameworkVersion", newFramework.Name, PropertyStorageLocations.Base, true); if (oldFramework is ClientProfileTargetFramework) { oldFramework = ((ClientProfileTargetFramework)oldFramework).FullFramework; } if (oldFramework != null && !oldFramework.IsBasedOn(TargetFramework.Net35) && newFramework.IsBasedOn(TargetFramework.Net35)) { AddDotnet35References(); } else if (oldFramework != null && oldFramework.IsBasedOn(TargetFramework.Net35) && !newFramework.IsBasedOn(TargetFramework.Net35)) { RemoveDotnet35References(); } if (oldFramework != null && !oldFramework.IsBasedOn(TargetFramework.Net40) && newFramework.IsBasedOn(TargetFramework.Net40)) { AddDotnet40References(); } else if (oldFramework != null && oldFramework.IsBasedOn(TargetFramework.Net40) && !newFramework.IsBasedOn(TargetFramework.Net40)) { RemoveDotnet40References(); } } AddOrRemoveExtensions(); Project.Save(); //TODO: Uncomment // ResXConverter.UpdateResourceFiles(Project); } } }
public virtual void UpgradeProject(CompilerVersion newVersion, TargetFramework newFramework) { if (!this.ReadOnly) { lock (SyncRoot) { TargetFramework oldFramework = this.CurrentTargetFramework; if (newVersion != null && GetAvailableCompilerVersions().Contains(newVersion)) { SetToolsVersion(newVersion.MSBuildVersion.Major + "." + newVersion.MSBuildVersion.Minor); } if (newFramework != null) { UpdateAppConfig(newFramework); ClientProfileTargetFramework clientProfile = newFramework as ClientProfileTargetFramework; if (clientProfile != null) { newFramework = clientProfile.FullFramework; SetProperty(null, null, "TargetFrameworkProfile", "Client", PropertyStorageLocations.Base, true); } else { SetProperty(null, null, "TargetFrameworkProfile", "", PropertyStorageLocations.Base, true); } SetProperty(null, null, "TargetFrameworkVersion", newFramework.Name, PropertyStorageLocations.Base, true); if (oldFramework is ClientProfileTargetFramework) { oldFramework = ((ClientProfileTargetFramework)oldFramework).FullFramework; } if (oldFramework != null && !oldFramework.IsBasedOn(TargetFramework.Net35) && newFramework.IsBasedOn(TargetFramework.Net35)) { AddDotnet35References(); } else if (oldFramework != null && oldFramework.IsBasedOn(TargetFramework.Net35) && !newFramework.IsBasedOn(TargetFramework.Net35)) { RemoveDotnet35References(); } if (oldFramework != null && !oldFramework.IsBasedOn(TargetFramework.Net40) && newFramework.IsBasedOn(TargetFramework.Net40)) { AddDotnet40References(); } else if (oldFramework != null && oldFramework.IsBasedOn(TargetFramework.Net40) && !newFramework.IsBasedOn(TargetFramework.Net40)) { RemoveDotnet40References(); } } AddOrRemoveExtensions(); Save(); } } }
protected CompilableProject(ICSharpCode.SharpDevelop.Internal.Templates.ProjectCreateInformation information) : base(information) { this.OutputType = OutputType.Exe; this.RootNamespace = information.RootNamespace; this.AssemblyName = information.ProjectName; ClientProfileTargetFramework clientProfile = information.TargetFramework as ClientProfileTargetFramework; if (clientProfile != null) { SetProperty(null, null, "TargetFrameworkVersion", clientProfile.FullFramework.Name, PropertyStorageLocations.Base, true); SetProperty(null, null, "TargetFrameworkProfile", "Client", PropertyStorageLocations.Base, true); } else if (information.TargetFramework != null) { SetProperty(null, null, "TargetFrameworkVersion", information.TargetFramework.Name, PropertyStorageLocations.Base, true); } SetProperty("Debug", null, "OutputPath", @"bin\Debug\", PropertyStorageLocations.ConfigurationSpecific, true); SetProperty("Release", null, "OutputPath", @"bin\Release\", PropertyStorageLocations.ConfigurationSpecific, true); InvalidateConfigurationPlatformNames(); SetProperty("Debug", null, "DebugSymbols", "True", PropertyStorageLocations.ConfigurationSpecific, true); SetProperty("Release", null, "DebugSymbols", "False", PropertyStorageLocations.ConfigurationSpecific, true); SetProperty("Debug", null, "DebugType", "Full", PropertyStorageLocations.ConfigurationSpecific, true); SetProperty("Release", null, "DebugType", "None", PropertyStorageLocations.ConfigurationSpecific, true); SetProperty("Debug", null, "Optimize", "False", PropertyStorageLocations.ConfigurationSpecific, true); SetProperty("Release", null, "Optimize", "True", PropertyStorageLocations.ConfigurationSpecific, true); }