Azure Mobile Services - System.PlatformNotSupportedException - azure

i'm working on a xamarin forms app with azure however when I load my initial page it crashes on the line:
public static MobileServiceClient MobileService =
new MobileServiceClient(
"https://myapp.azurewebsites.net");
with exception:
System.PlatformNotSupportedException "The empty PCL implementation for
Microsoft Azure Mobile Services was loaded. Ensure you have added
nuget package to each of your platform projects."
How do I fix this?

It might mean that the NuGet packages did not install correctly in one of your platforms. I would suggest doing a force-reinstall of all NuGet packages using the Package Manager Console (Tools/NuGet Package Manager/Package Manager Console).
Update-Package -reinstall
Do this for all projects in your solution. Once done, close and reopen Visual Studio, open your solution and click Build in the top menu and do Clean Solution.
Now look into each of your platform projects in turn to see if you have a Microsoft.Azure.Mobile.Client reference there:
If it is not there, install the Microsoft.Azure.Mobile.Client package again in that given project.
Then you should proceed as described in any tutorial on Azure Mobile Services. Even if you use the Shared Project strategy in you Xamarin.Forms app, it should work as expected once the platform project has Microsoft.Azure.Mobile.Client installed.
If it does not help, as the last resort I would suggest trying to update all NuGet packages to their last version (right-click solution, Manage NuGet Packages for Solution...)

Make sure that you add the initialization code in the respective AppDelegate/MainActivity
CurrentPlatform.Init();
And that in the iOS, Android and PCL projects there is the reference to the Microsoft.Azure.Mobile.Client package.
Example
It instantiates the MobileServiceClient in the TodoItemManager class.

Related

using Microsoft.Azure.Cosmos.Table doesn't work in a UWP project

We are creating an HoloLens 2 app.
Our installed NuGet packages are:
Hyak.Common
Microsoft.Azure.Common
Microsoft.Azure.Cosmos.Table
Microsoft.Azure.DocumentDB.Core
We want to use the library "Microsoft.Azure.Cosmos.Table" for our Azure Storage Account table storage.
We are working with Unity 2018.4.22f1 and Visual Studio 2019. When we try to use Microsoft.Azure.Cosmos.Table we get this error:
The type or namespace name 'Azure' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
Everytime we reinstall the nuget "Microsoft.Azure.Cosmos.Table" it works at first. When we restart visual studio 2019 the error appears again
using Microsoft.Azure.Cosmos.Table doesn't work in a UWP project
Please try the following steps:
1) disable any third party extensions under Extensions--> Manage Extensions in case some extensions cause this and after that, you should restart VS
2) delete all component caches under C:\Users\xxx\AppData\Local\Microsoft\VisualStudio\16.0_xxx\ComponentModelCache
3) clean all nuget caches, delete bin and obj folder and then restart your project.
4) try to create a new project and then install these four nuget packages to test whether this strange behavior appears in the new project.
Or you could create a new project to migrate your old project into the new project to test whether the issue still persists.
If still faces the same error, please try step 5
5) repair vs in vs installer or if there is any update for VS, please update it.
Update
=============================
After a deep research, I think the issue is that your uwp project's target version is not compatible with that package's version.
So the solution is that you should
set the uwp project min target to >=Windows 10 Fall Createors Update(10.0;Build 16299) and target version >=Windows 10,version 1809(10.0,Build 17763).
Also, use the latest nuget package Microsoft.Azure.Cosmos.Table 1.0.7 version

Can I consume a Nuget package within a Node project?

I am working with Visual Studio 2017. I started from; Basic Node.js Express 4 Application.
I have a private Nuget in VSTS which has a .Net tool I would now like to use in the Node.js project (to perform some domain specific build-like tasks).
Is it possible to add a Nuget reference into a Node.js project (just to download the tool)?
I've seen that VSTS provides npm, but this would seem to be incompatible with my existing Nuget packages.
Is it possible to add a Nuget reference into a Node.js project (just to download the tool)?
I am afraid you can not do that at this moment.
Because Nuget does not currently support the node.js project even if you just download the tool. When you use nuget on the node.js project, we always get the error 'Project "Default" is not found.'. npm is the right solution for package management for node.js project.
See similar issues on GitHub for some more details:
Cannot install packages in Node.js project - Project "Default" is not found
Nuget package manager cannot 'see' Node.JS projects
Hope this helps.

Build multiple independent projects in the same solution in TeamCity

I have an MVC app in VS2013, and it has several related web/service projects, and one console app that is used for running SQL scripts against the database (it uses DbUP, to integrate with Octopus Deploy).
How can I generate NuGet Packages for both the web app and the console app?
I have created a separate Visual Studio (sln) step to build this project, but I get a missing reference error for the DbUp NuGet package. If I add a project reference to the web app, then the build is successful, but no artifact is generated. I would like to generate the NuGet package without adding the reference.
Well, this is embarrassing. Adding OctoPack NuGet package to my console app solved my problems.

ServiceStack set up packages

I'm trying on ServiceStack but getting stuck in the installation. Can I ask what's the correct packages to install? For a very simple tutorial on Pluralsight.
It doesn't seem to allow me to enable using ServiceStack.Interfaces or using ServiceStack.ServiceInterface in my application. Even though those are right there in the References.
I have installed ServiceStrack, ServiceStack.Host.MVC, ServiceStack.Host.AspNet and more.
Assuming you want to build just minimal web-service, you do not need to install Host.MVC or Host.AspNet, just install the minimal package using NuGet Package Manager like this:
Install-Package ServiceStack
After that you can use this guide to configure your newly ServiceStack Web-Service.
The easiest way to install ServiceStack is with ServiceStackVS VS.NET Extension which will download the right packages for each project type. See this guide on Creating your first project with ServiceStackVS.
If you want to add packages manually to a normal ASP.NET Web Application please see Creating a Service from Scratch.

How to create crashlytics binding for Xamarin.iOS?

I've downloaded Crashlytics app that integrates Crashlytics.framework into XCode project, and it works great for XCode. But as far as I know, to build Xamarin.iOS binding I need static library, and I can't find it neither in framework nor in Crashlytics.app contents. There is only "run" executable and header. I don't know how to use it under Xamarin.iOS. Btw, AndrewReed on Xamarin forum managed to build dll somehow, so it's possible.
So, how to create crashlytics binding for Xamarin?
AndrewReed answered this question on Xamarin forum:
As with quite a few sdk's, sometimes they bundle a folder instead of the static lib,which essentially is the static library. There will be a sizeable file that maybe doesnt have an extension(this is your .a file) so you can rename that to be .a and then include that in a xamarin bindings project. Run the sharpie marker on the header file in the folder which will generate your necessary files. Watch out for one gotcha, delegate is a reserved word in c#, so you may need to go around and change this by adding an # symbol(to the name) to allow you to use the reserved word.
So what I actually did was, created a project in xcode and ran the crashlytics programme, this then added the crashlytics framework to the project. In finder locate that and you will have a structure like so: - run - /Versions --/A ---Crashlytics ---/Headers ----Crashlytics.h
So the /A folder is essentially your static lib, use this and create your binding from that, or in this particular case, just download it from the mono bindings || my repo.
If you're looking for an officially supported crash reporting plugin, Crittercism just released one (Full disclosure: I'm one of the co-founders). You can download the bindings from the Xamarin store here: http://components.xamarin.com/view/crittercism
The latest version of Xamarin seems to have it build in.
Here are the steps that I followed
1.) In the Xamarin Studio , go to the main app, and add the Crashlytics API key in the Build -> Crash reporting section. Build and run that app. The evidence suggests that is enough to get data sent to Crashlytics. I saw that it knew about older versions of the app I had built and ran weeks ago with the API key already in.
2.) Go to Xcode and create a new project with the same name as the Xamarin project, com.{company}.{appname}. (You probably need to have that profile downloaded.) I did it in Swift by the way with no issues.
3.) Go to crashlytics.com com and go to settings -> Apps (or https://www.crashlytics.com/onboard)
4.) You will get an app to download and run. The app walks through the steps of adding
A.) A build phase run script
B.) Code to the application main Crashlytics.startWithAPIKey(“nnnn”)
5.) Run your Xcode version of the app
The Crashlytics web page popped up immediately.

Resources