Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update OmniSharp to latest MSBuild #1145

Merged
merged 3 commits into from
Apr 6, 2018

Conversation

DustinCampbell
Copy link
Contributor

This change updates OmniSharp with the latest MSBuild binaries. Recent performance changes for MSBuild now require NuGet.Build.Tasks, which requires a set of NuGet binaries be included as well. Because the versions of these NuGet binaries might be different (actually, they are different) than the binaries that OmniSharp uses, there's a bit of duplication.

This change updates OmniSharp with the latest MSBuild binaries. Recent performance changes for MSBuild now
require NuGet.Build.Tasks, which requires a set of NuGet binaries be included as well. Because the versions of these NuGet binaries might be different (actually, they *are* different) than the binaries that OmniSharp uses, there's a bit of duplication.
Copy link
Member

@david-driscoll david-driscoll left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

Copy link
Member

@filipw filipw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the overall build took about 2min less

'BypassFrameworkInstallChecks' allows builds to skip a particularly hacky check in the GetReferenceAssemblyPaths
task. This hack affects projects that target a .NET Framework version less than 4.0. Essentially, the hack tries
to load a certain assembly from the GAC to "guarantee" that .NET Framework 3.5 SP1 is installed (an old case added
specifically for WPF projects). However, we don't include that assembly in our Mono package. So, many Unity projects
end up failing the check because they often target much early .NET Framework versions. We can fix that by just
skipping the check, which isn't really necessary when we're running on Mono.
@DustinCampbell
Copy link
Contributor Author

I've tested a number of scenarios with the new MSBuild, including Xamarin Forms (with iOS and Android), Unity and .NET Core 2.1 (KestrelHttpServer). All are working well.

@DustinCampbell DustinCampbell merged commit c8e6dbc into OmniSharp:master Apr 6, 2018
@DustinCampbell DustinCampbell deleted the update-msbuild branch April 11, 2018 21:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants