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

Issue #658 - Unable to Build on Ubuntu #660

Closed
wants to merge 5 commits into from

Conversation

dalealleshouse
Copy link

Added ubuntu 16.10 as a target and changed the target framework from netcoreapp1.0 to netcoreapp1.1 - it's now building on ubuntu 16.10.

…netcoreapp1.0 to netcoreapp1.1 - it's now building on ubuntu 16.10
@david-driscoll
Copy link
Member

@DustinCampbell this is a wonderful rid problem, I know you love these!

@DustinCampbell
Copy link
Contributor

I was waiting until we released .NET Core 1.1 before looking at this. Now that it's here, @dalealleshouse, could you update the PR to the final release of .NET Core 1.1?

@DustinCampbell
Copy link
Contributor

I took a look at this today, and I think this PR actually ends up breaking OmniSharp. The problem is that there is an API breaking change introduced here between System.Reflection.Metadata, 1.4.1 and System.Reflection.Metadata, 1.4.1-beta-24430-01. Unfortunately, Microsoft.NetCore.App, 1.1 references the former version and Roslyn 2.0.0-rc references the latter version.

The CI passes for this change because OmniSharp.exe is moved to netcoreapp1.1, but all of the tests are still on netcoreapp1.0. So, the tests pass but OmniSharp.exe doesn't work.

"TestProjects": {
"OmniSharp.MSBuild.Tests": [
"netcoreapp1.0"
"UseSystemDotNetPath": "false",
Copy link
Contributor

Choose a reason for hiding this comment

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

FWIW, it'd be nice if this change didn't update the whitespace in the files, which messes up the diff.

"netcoreapp1.0"
],
"OmniSharp.Roslyn.CSharp.Tests": [
"netcoreapp1.0"
Copy link
Contributor

Choose a reason for hiding this comment

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

If you update this to "netcoreapp1.1" and make a corresponding change in "project.json" to Microsoft.NETCore.App, 1.1.0, you'll find that these tests will fail with this change. The tests fail with MEF composition errors and if you debug, you'll find that it's because Roslyn is expecting a type to exist in System.Reflection.Metadata that no longer does.

Copy link
Contributor

Choose a reason for hiding this comment

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

Does that missing type you're referring to happen to be System.Reflection.Metadata.ISignatureTypeProvider?

Copy link
Contributor

Choose a reason for hiding this comment

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

That's the one. We're still working on getting Roslyn updated to .NET Core 1.1, which will address the problem.

@DustinCampbell
Copy link
Contributor

Closing this in favor of #835.

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