Skip to content

Commit

Permalink
Merge branch 'master' into versioned-document-highlight
Browse files Browse the repository at this point in the history
  • Loading branch information
JoeRobich authored Dec 8, 2021
2 parents 4164336 + 7c727c8 commit 6401a60
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 2 deletions.
2 changes: 2 additions & 0 deletions build.cake
Original file line number Diff line number Diff line change
Expand Up @@ -977,6 +977,8 @@ string PublishBuild(string project, BuildEnvironment env, BuildPlan plan, string
{
Framework = framework,
Runtime = rid, // TODO: With everything today do we need to publish this with a rid? This appears to be legacy bit when we used to push for all supported dotnet core rids.
PublishReadyToRun = true, // Improve startup performance by applying some AOT compilation
SelfContained = false, // Since we are specifying a runtime identifier this defaults to true. We don't need to ship a runtime for net6 because we require the .NET SDK to be installed.
Configuration = configuration,
OutputDirectory = outputFolder,
MSBuildSettings = new DotNetCoreMSBuildSettings()
Expand Down
6 changes: 6 additions & 0 deletions src/OmniSharp.Host/HostHelpers.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System;
using Microsoft.Extensions.Logging;
using OmniSharp.MSBuild.Discovery;
using OmniSharp.Roslyn;
using OmniSharp.Utilities;

Expand Down Expand Up @@ -28,6 +29,11 @@ public static int Start(Func<int> action)

return action();
}
catch (MSBuildNotFoundException mnfe)
{
Console.Error.WriteLine(mnfe.Message);
return 0xbad;
}
catch (Exception e)
{
Console.Error.WriteLine(e.ToString());
Expand Down
2 changes: 1 addition & 1 deletion src/OmniSharp.Host/MSBuild/Discovery/Extensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ Try updating your MSBuild to version {minimumMSBuildVersion} or higher to enable
}
else
{
logger.LogError("Could not locate MSBuild instance to register with OmniSharp");
throw new MSBuildNotFoundException("Could not locate MSBuild instance to register with OmniSharp.");
}
}

Expand Down
19 changes: 19 additions & 0 deletions src/OmniSharp.Host/MSBuild/Discovery/MSBuildNotFoundException.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
using System;

namespace OmniSharp.MSBuild.Discovery
{
internal class MSBuildNotFoundException : Exception
{
public MSBuildNotFoundException()
{
}

public MSBuildNotFoundException(string message) : base(message)
{
}

public MSBuildNotFoundException(string message, Exception innerException) : base(message, innerException)
{
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,17 @@ public override ImmutableArray<MSBuildInstance> GetInstances()
{

#if NETCOREAPP
const string DotNetSdkVersion = "6.0.100";

// Restrict instances to NET 6 SDK
var instances = MicrosoftBuildLocator.QueryVisualStudioInstances()
.Where(instance => instance.Version.Major == 6);
.Where(instance => instance.Version.ToString() == DotNetSdkVersion)
.ToImmutableArray();

if (instances.Length == 0)
{
Logger.LogError($"OmniSharp requires .NET SDK version '{DotNetSdkVersion}' be installed. Please visit https://dotnet.microsoft.com/download/dotnet/6.0 to download the .NET SDK.");
}
#else
if (!PlatformHelper.IsWindows)
{
Expand Down

0 comments on commit 6401a60

Please sign in to comment.