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

Added WinRT (Windows 8) compatible library, sharing code where possible. #65

Closed
wants to merge 3 commits into from

Conversation

ngbrown
Copy link
Contributor

@ngbrown ngbrown commented Apr 19, 2015

Includes NUnit driven tests.
Includes Windows Store example application.
Includes netcore45 addition to NuGet nuspec file.
Addresses GitHub issue #16.

The work I did toward #32 with a public CI ran into some troubles with WinRT Tasks usage and the single CPU test environment. Some unit tests work fine on multi-processor environment, but deadlock on a single CPU core environment (can be simulated with CPU affinity). I think by pushing this to the main branch, more people can work on this and it can be figured out.

ngbrown added 3 commits April 19, 2015 14:39
…patibility with future .NET framework changes (all non-desktop frameworks).
Includes NUnit driven tests.
Also includes Windows Store example application.
Addresses GitHub issue rabbitmq#16
@michaelklishin
Copy link
Member

Thank you.

I've noticed that on my development machine (Windows 8.1, VS 2013 Community edition), the location of Microsoft.Windows.UI.Xaml.CSharp.targets is different: it is

$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v12.0\Microsoft.Windows.UI.Xaml.CSharp.targets

instead of

$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v11.0\Microsoft.Windows.UI.Xaml.CSharp.targets

I'll update the project file for 8.1/VS 2013 CE but we may want to investigate making this work on different versions.

@michaelklishin
Copy link
Member

This clearly wasn't tested on Mono. Fails to build because build files in the WinRT projects have no conditions.

@ngbrown
Copy link
Contributor Author

ngbrown commented Apr 20, 2015

Since it is a non-gui library, there's not a lot of benefit to target netcore451 (win 8.1). This current way it is compatible with both 8 and 8.1.

There is an option in the Visual Studio 2013 installer to install the libraries and tools to maintain Windows 8 apps. You will need to run the installer in maintenance mode and check it.

If the library is upgraded, then the nuspec file needs changed as well.

@michaelklishin
Copy link
Member

Yes, I now see that VS needs to install some additional tools. Investigating.

@ngbrown
Copy link
Contributor Author

ngbrown commented Apr 20, 2015

I don't have a Linux or Mono environment and don't know what is needed.

@michaelklishin
Copy link
Member

I'll take care of Mono. @ngbrown I've invited you to the .NET client contributors team. I'll soon close this PR and push a branch that has some project file modifications (primarily related to Mono).

We'll use that branch to make sure things build (or are skipped) in all our environments, then merge.

If you haven't already, please sign our contributor agreement document and send it to me.

@ngbrown
Copy link
Contributor Author

ngbrown commented Apr 20, 2015

You should have my signed contribution agreement on file. Let me know if I need to resend it.

@michaelklishin
Copy link
Member

Perfect. Then I'll push a branch (rabbitmq-dotnet-client-65) shortly and close this PR. Once I tweak the build system to exclude WinRT from nightlies (our build machine is currently Win 7 and migrating to 8.1 will take some time) and build on Mono, we can merge this.

Thank you, this is a substantial contribution and easily one of the biggest bullet points for the 3.6.0 release notes.

@michaelklishin
Copy link
Member

Closing in favour of #66.

@dumbbell dumbbell added this to the n/a milestone May 6, 2015
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.

3 participants