private static void SetTargetFrameworkIfNeeded(MSB.Evaluation.Project evaluatedProject) { var targetFramework = evaluatedProject.GetPropertyValue(PropertyNames.TargetFramework); var targetFrameworks = PropertyConverter.SplitList(evaluatedProject.GetPropertyValue(PropertyNames.TargetFrameworks), ';'); // If the project supports multiple target frameworks and specific framework isn't // selected, we must pick one before execution. Otherwise, the ResolveReferences // target might not be available to us. if (string.IsNullOrWhiteSpace(targetFramework) && targetFrameworks.Length > 0) { // For now, we'll just pick the first target framework. Eventually, we'll need to // do better and potentially allow OmniSharp hosts to select a target framework. targetFramework = targetFrameworks[0]; evaluatedProject.SetGlobalProperty(PropertyNames.TargetFramework, targetFramework); evaluatedProject.ReevaluateIfNecessary(); } }