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
Add a project targeting .NET Core #573
Conversation
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project, in which case you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed, please reply here (e.g.
|
CLA signed On 8 July 2015 at 14:45, googlebot notifications@github.com wrote:
|
CLAs look good, thanks! |
I'd really rather avoid another project if at all possible - any reason we can't just make the existing project work with .NET Core? I believe it should just be a matter of supporting the relevant profile (258 IIRC, but that's off the top of my head.) Note that in the csharp-experimental branch, I've killed off the Lite project as well - I'm trying to streamline all of this as much as possible. |
I've looked more into this. I've created another branch with new projects targeting DNX 4.5.1, DNX Core 5.0 and PCL profile 92 for the ProtocolBuffers and ProtocolBuffers.Serialization projects (non-lite): https://github.com/flavien/protobuf/tree/dnx The problem with replacing the old projects with those is that you'd need to replace the test projects as well, and NUnit won't work with Visual Studio from an xproj project (Right now, only XUnit works). |
Again, I don't think an xproj is needed. Targeting profile 259 should be enough, I believe. |
I think there might be a misunderstanding. I am not referring to the .NET Core used for Windows Store Applications. I'm referring to the .NET Core DNX use by ASP.NET 5. I might be wrong, but don't think this can be targeted by a PCL. JSON.NET had to do the same for example. |
No, we're referring to the same thing. While Json.NET does have a project.json, I don't think it's a requirement... I emailed James about that exact question around the time that he created the project.json, interestingly enough. I suspect he created a project.json file so that he could ensure that he tested it running under DNX core... I can investigate similar things. |
I've just done this with Noda Time - built it against profile259, adjusted the nuspec file appropriately, and managed to get it building and running under dnxcore. No xproj files required in Noda Time at all. |
Great, I see that you already have a pull request under way, so I'll wait for the next version of the NuGet package and hopefully it should work with .NET Core. |
Indeed. We'll be testing that out ourselves of course - if you could kick the tires too when the package is created, that would be much appreciated :) I'm going to close this PR for now - we can reopen it if the current plans fails. Let me know if there's anything in this PR that isn't covered by the current plan. |
I've been running the 3.0.0-alpha4 package for some time, any idea when the 3.0.0 release will happen? |
Couldn't say, I'm afraid. I'm hard at work on json parsing at the moment... Jon
|
I don't know anything about PCL's, but I am trying to use this in .NET Core 1.0.1 and it is telling me "One or more packages are incompatible with .NETStandard,Version=v1.4" (my project is a DLL targeting 1.4.) My understanding of .NET Core is that xproj is not required but project.json is (at least until project.json disappears.) (Guidance from Microsoft: https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/target-dotnetcore-with-msbuild) |
You should be fine for Google.Protobuf - we target netstandard1.0: If you run |
…ents to reflection namespaces, see protocolbuffers#576; Also added Namespace#getEnum for completeness, see protocolbuffers#576; Made pbjs use loadSync for deterministic outputs, see protocolbuffers#573
This is for the C# implementation.
I created a new project targeting .NET Core (DNX Core 5.0), which should make it cross platform (OS X, Linux). It would be nice to release this as a beta/preview NuGet package for those who need to target .NET Core.
So far it's only the ProtocolBuffersLite assembly.
The solution will still round-trip to Visual Studio 2013, though you will get a message saying it can't open the ProtocolBuffersLiteCoreFx.