Windows 8.1 Universal App References - c#

I have a windows 8.1 universal app. One part is desktop/tablet app and one is Windows phone.
I have been downloading all external libraries via nugget into the Windows 8.1 and now my Windows Phone doesn't recognize it.
How can i reference it all under one "umbrella" or point the Windows Phone reference folder towards references in windows 8.1?

If I understand it correctly. you added some Nuget packages to the Windows project and you have code in your Shared project that uses them, so the app does not build for Windows Phone.
The solution is to add the same Nuget packages to your Windows Phone project.

Related

Are Windows Phone 8.0 DLLs compatible with Windows Phone 8.1 apps?

I have a Windows Phone 8.1 project, and a Windows Phone 8.0 library.
I need to add it into my Windows Phone 8.1 project; but at runtime, I have the following error:
FileNotFoundException: could not load or assembly Microsoft.Phone,
Version=8.0.0.0. The system cannot find the file specified.
So my question is simple: are 8.0 libs compatible with Windows Phone 8.1 app ?
If not, what should I do ? Migrate them ?
If your project is Windows Phone 8.1 Silverlight, that it should work fine. If your project is Windows Phone 8.1 XAML (which seems more probable according to the error message) , then no, no way to use it without rewriting.

Visual Studio 2013 windows phone project templates doubts

I have updated my code to WP 8.1 and wanted to organise it better by using Class Libraries.
The doubt comes when I find there are 2 Class library project templates for Windows Phone:
Class Library (Windows Phone)
Class Library (Windows Phone
Silverlight)
If i select template 1, i see the assemblies referenced by default are .NET for Windows Store Apps and Windows Phone 8.1
If i select template 2, i got asked the target version of the Windows Phone OS (8.0 or 8.1) and the assemblies references by default are .NET for Windows Phone and Windows Phone.
Do you know the differences between them?
I have looked into the matter and seems it depends if you want to load the .NET runtime namespaces or not, am i correct? Are there any more differences?
The class library type will depend on whether your main app will be a Windows Phone 8.1 Silverlight app, or Windows Phone 8.1 XAML app.
The advantage of WP8.1 XAML app is that it is converged with Windows 8.1 - you can even create an Universal App that shares almost all code and xaml between the Win8 and WP8.1 apps.
The advantage of WP8.1 Silverlight app is that it is more closer to the old WP8.0 app - less changes are required, and also it has access to some APIs not available to WP8.1 XAML apps.

Use FileOpenPicker for windows phone 8

I believe, FileOpenPicker was added in Windows Phone SDK 8.1 which supports browsing through the music library, video library etc to let the user select a file. This functionality(API) was not available on windows phone 8 sdk. Problem is that windows phone sdk 8.1 can only be installed over visual studio 2013. I have installed VS2013 and SDK 8.1, When I build an app and try to deploy it on my windows phone running at 8.0 and not 8.1, it throws me an error saying it cannot be installed on this version of windows phone OS.
I wonder, whatsapp did not had any option to browse videos up till sdk 8.0 was released. with the release of sdk 8.1, it lets user to browse videos from the video library. I hope they are also making use of the API mentioned above. But this updated version of whatsapp which supports video library browsing, works on my Windows Phone with OS 8.0?
How were they able to use the API from 8.1 SDK and target the app for windows phone 8.0?
Is there any way I can created an app using SDK 8.1 and target the app to run on windows phone 8.0?
WhatsApp is one of the most popular apps on the Windows Phone platform. As a result, they are occasionally granted access to APIs and capabilities that are not yet available in the public SDK.

nuget failed to add references into Windows phone 8.1 project in universal apps

I have a strange problem, I am migrating a Windows Phone 8 app to Windows Phone 8.1 universal app. In that I am using Facebook and Facebook.Client packages. In Windows Phone 8.1 universal app project nuget package manager failed to add Facebook packages into the project by saying the error like Couldn't find any packages that support Windows phone 8.1, after this error I added the Facebook and Facebook.Client references manually from my old Windows Phone 8 project, when I build the project compiler throwing error:
Error 1 Cannot find type System.Windows.Controls.Control in module System.Windows.dll
Actually I added Windows Phone 8 Facebook.Client.dll. So compiler throws this error. After this I have added Windows 8 Facebook.Client.dll, the build succeeded. But when I call facebook Loginasync() method, I am getting NotImplementedException.
Any one help me how to resolve this exception. I guess Facebook packages are not updated to support Windows Phone 8.1 universal app. If so can any one help me how to integrate the Facebook in Windows Phone 8.1 universal app (Windows 8.1 its working fine).
The Facebook package has been migrated to the Universal app stack, however the Facebook.Client package has not. The Facebook.Client version for Windows Phone 8 targets the Silverlight version of the APIs, so it won't auto-magically convert to supporting Windows Phone 8.1 Universal projects. Someone is going to need to port it.
The source can be found here:
https://github.com/facebook-csharp-sdk/facebook-winclient-sdk
For Windows Phone 8.1 there is a new step in the login process you need to do.
In OnActivated of app.xaml.cs add the following code:
if (args.Kind == ActivationKind.WebAuthenticationBrokerContinuation)
{
App.MobileService.LoginComplete(args as WebAuthenticationBrokerContinuationEventArgs);
}

How to add RabbitMQ library to windows phone 8 project?

I'm working on a WP8 project that needs the RabbitMQ library.
Where and how can I add that kind of library to an windows phone 8 project in Visual Studio Express 2012 for Windows Phone? I can't seem to find any good ones with the NuGet Package Manager in VSE2012.

Categories