Reactive Extensions in Windows Phone 8 and the 2001 submission error
You can read the whole story if you like reading, but this whole blog post comes down to one piece of advice:
If you value your sanity, do not, under any circumstances, pull in Reactive Extensions from NuGet into a Windows Phone 8 application. Use the built-in Microsoft.Phone.Reactive.dll instead.
Those who follow me on twitter may have seen a few tweets pass by over problems I had with the Windows Phone 8 version of my app Map Mania. The submission went OK the first time, but the test team found two bugs – bugs that were also there in previous versions, but apparently they have ramped up the quality bar again. I can only applaud that, even if I got bitten it by it myself, because the test report was comprehensive and showed someone actually understood or had read into some issues that may arise when using WMS services – and by doing so, succeeded in crashing my app.
Anyway, I fixed the app, resubmitted, and then the trouble started. Although the Store Test kit showed no errors, and submission went fine showing only validated XAP’s – after a few minutes I got an e-mail from the Windows Phone dev center:
Windows Phone Dev Center app submission
We weren't able to process the app submission for Map Mania.
Unfortunately, something happened with your Windows Phone app submission. Check the status of the submission in your app list at https://dev.windowsphone.com/applicationlist. If the problem persists, contact support for assistance.
When I looked at the submission it said I had a “2001 error” with a helpful link, that leads you to a table in which it says:
There are duplicate files in AppManifest.xaml. Remove one of the files and then try again.
If rebuilding your XAP doesn't solve this problem, you may have to manually remove any duplicate files from the AppManifest.xaml in your XAP file. To rebuild your app, see Rebuilding your project in Visual Studio.
My friends, I have rebuilt the app till my fingers bled, cleaned the solution, removed all the binaries manually, opened up the XAP to look for duplicate assemblies, scanned the AppManifest.xaml till I saw cross-eyed, and after the 10th try gave up and indeed contacted Support.
I won’t go into full detail, but I think it’s fair to say this problem wasn’t easy to solve and I think Support struggled as much with it as I did. It wasn’t until our Dutch DPE Matthijs Hoekstra, who I think now owe not only my sanity but possibly also my soul ;-), queried his sources and got back that a post-processing error apparently was being caused by System.Reactive.Core.dll and I was reco