This is a huge patch. It merges core code between Portable and Universal and platform code between WPF and Universal. This will allow me (as well as any other future contributor) to implement every feature once and have it included in every platform automatically (well, WPF and Universal at the moment). Unit tests are also compiled twice for Portable and Universal platform respectively.
WP8 and SL platforms could be ported to the shared codebase too, but it is questionable whether anyone is going to use them since they are both obsolete platforms. I am reluctant to port them over for this reason, but I have left them in the codebase. Perhaps people using these platforms would be better off using UpdateControls instead. In that case, only Universal and WPF would be supported in Assisticant.
I had to fix a few other things that are piggybacked on this patch:
timers have been lifted up into portable library
there's now only one Universal DLL, not two
cleanup in ObjectProperty (now MemberSlot), which made it simpler and predominantly driven by actual run-time type of the processed objects
commands auto-generated from methods are now implemented directly, without convoluting MemberSlot
XML documentation is enabled and xcopied to NuGet
namespace cleanup: Assisticant.XAML was merged into Assisticant (for Universal and WPF)
some project renaming and moving
I refrained from including all the changes I would like to do. I tried to focus on what's necessary or more efficient to do as part of this patch.
I have tested it with my WPF app and with the included WinRT app and both seem to work fine now. All unit tests pass for both Portable and Universal.
I just noticed you committed some changes meantime. These are most likely incompatible with this patch since my changes are really huge. I hoped you would wait for me a little. I can either merge/rewrite them on top of this patch or you can revert them and either I or you will reintroduce them after merge.
This is a huge patch. It merges core code between Portable and Universal and platform code between WPF and Universal. This will allow me (as well as any other future contributor) to implement every feature once and have it included in every platform automatically (well, WPF and Universal at the moment). Unit tests are also compiled twice for Portable and Universal platform respectively.
WP8 and SL platforms could be ported to the shared codebase too, but it is questionable whether anyone is going to use them since they are both obsolete platforms. I am reluctant to port them over for this reason, but I have left them in the codebase. Perhaps people using these platforms would be better off using UpdateControls instead. In that case, only Universal and WPF would be supported in Assisticant.
I had to fix a few other things that are piggybacked on this patch:
I refrained from including all the changes I would like to do. I tried to focus on what's necessary or more efficient to do as part of this patch.
I have tested it with my WPF app and with the included WinRT app and both seem to work fine now. All unit tests pass for both Portable and Universal.
I just noticed you committed some changes meantime. These are most likely incompatible with this patch since my changes are really huge. I hoped you would wait for me a little. I can either merge/rewrite them on top of this patch or you can revert them and either I or you will reintroduce them after merge.