Xamarin Forms unable to resolve Azure storage from nuget package - azure

I'm trying to upload a blob to azure using a shared access signature. I have the token and added the nuget package WindowsAzure.Storage to my project. I've tried both version 7.0.0 and 7.0.1-preview.
For some reason I'm unable to resolve the reference when creating an instance of CloudBlobContainer. Also I've tried to just type the using statement but no luck. All azure documentation points to a version 4.4.0-preview, is this the one I should be using?
azure doc ref https://azure.microsoft.com/da-dk/documentation/articles/storage-xamarin-blob-storage/
Best regards

I would just guess that the docs are outdated with the 4.4.0-preview link instead of a link to the NuGet package:
https://www.nuget.org/packages/WindowsAzure.Storage/
CloudBlobContainer seems to be within the Microsoft.WindowsAzure.Storage.Blob namespace.
I would check to ensure that you actually installed the NuGet package as it may have failed silently with other projects.
EX: http://screencast.com/t/FLhztkeu

Changing the PCL profile worked for me. Bizarre.
After installing the NuGet package, you actually need to change the profile on your Xamarin project. You can do this by going to the shared project -> Options -> General – > C#
Change the Current Profile to PCL 4.5 – Profile111 (I have no idea
of what this does.)
You need to retarget your NuGet packages for this new profile now.
Right click on Packages within the shared project, and you’ll have 5
options here.
Retarget will be available. Click that. (Not shown here, as I’ve
already retargeted)
Rebuild your project
How I figured this out
I stumbled across this Xamarin forum post, where someone had the exact same issue. One user pointed us towards a bug report, where PCL references were not added automatically via NuGet package installation. They recommended retargeting, and it worked! Now I can include the using Microsoft.WindowsAzure.Storage.Blob; namespace.
I have a blog post with more info on this.

Related

Azure Web Deploy "Could not find a part of the path 'D:\home\site\wwwroot\bin\roslyn\csc.exe'."

I've been browsing the web for a couple hours now looking for an answer to my problem. I am trying to deploy a Web API on Azure Web App Service using VS2017. Everything builds and works fine when running locally but once deployed on Azure (through VS2017) I get this error:
D:\home\site\wwwroot\bin\roslyn\csc.exe
My project is an ASP.NET Web Application (Using Azure Web API template) .NET Framework 4.6.1. I use Microsoft.CodeDom.Providers.DotNetCompilerPlatform Version=1.0.6.0
I also made sure that csc.exe is located in:
Visual Studio 2017\Projects\DeviceManagementAPI\DeviceManagementAPI\bin\roslyn
Just had the same problem and it seems it's a known issue with Microsoft.CodeDom.Providers.DotNetCompilerPlatform 1.0.6 and 1.0.7.
Downgrading to 1.0.5 solves the problem.
Upgrading Microsoft.CodeDom.Providers.DotNetCompilerPlatform to 1.08 worked for me
After a while I simply uploaded manually the roslyn file directly into the server through Kudu. It seems to solve the problem but I still don't know why it won't upload automatically.
Same issue might be caused by missing or incorrect relative packages path. If you're changing solution folder structure make sure all imports have proper path's to avoid missing Roslyn files.
Generally suggest to replace auto-generated ../../../packages/... rabit hole with parameter which will point to correct Nuget folder.
<Import Project="$(NugetPackagesPath)\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.8\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('$(NugetPackagesPath)\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.8\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />

"Fody not properly installed" error exception. (Xamarin.forms)

I'm making app with using Xamarin.forms. (PCL Project)
Today, I added new three solution packages named SVG.Forms.Plugin.Abstractions, SVG.Forms.Plugin.iOS, SVG.Forms.Plugin.Android on workspace that downloaded from github.
I have used realm for Xamarin.
But After I added new packages, "Realms.RealmException has been thrown".
Message is "Fody not properly installed. allbX.Baby is a RealmObject but has not been woven."
Is it Fody's problem or Realm's or new packages'(SGV Control)?
And could you let me know how to solve it?
Better Answer
The check which is delivering that message is because Fody is not running.
So, they may have a RealmObject in their component but Fody doesn't get run building in your solution so weaving doesn't occur.
The easiest fix is to just use NuGet to add Fody to your main application project. That should install it in the right place for the solution.
Background
NuGet manages dependencies so if a package relies on Realm, it will go on in turn and install Realm. Realm itself relies on Fody, for example, so will in turn trigger a Fody installation.
You can manually install Realm but it is a little fiddly, having to add a couple of lines to your csproj to specify imports. We have chosen to only document installation via NuGet at this stage.
If you want to manually add Realm to another solution without using NuGet, I suggest you take a new clean solution, save a copy, and diff with the changes made to that solution by adding Realm via NuGet. You will then see the lines to copy into your existing solution.

Resolve missing references using Nuget failed

I checked out a project form Team Foundation. As you can see in the picture, I used nuget to restore the missing packages. However, the reference problems are not resolved at all.
When I right click on my solution and choose Manage Nuget Packet for Solution, here is what I've got
I thought it means that I have download all the package but they are not added to my project because there are still many build errors. If I use Package Manager Console to download each package separately, the version will conflict with the original. I would like to see if there are any automatic way to resolve this problem.
Thanks in advance
Remember to check out the package folder outside the project folder.

Where's the NodaTime.Serialization.JsonNet?

At Latest API documentation NodaTime.Serialization.JsonNet is shown as a part of NodaTime library.
But I can't find it anywhere. Here's the NodeTime in ObjectBrowser in my VisualStudio.
I even looked into NodeTime.Testing and haven't found it.
I don't know where to look for it anymore. These two (NodeTime and NodeTime.Testing) are only packages available over NuGet.
From the page you linked to:
Code in this namespace is not currently included in Noda Time NuGet packages; it is still deemed "experimental". To use these serializers, please download and build the Noda Time source code from the project home page.
For 1.2, we'll be distributing a separate pre-built assembly and NuGet package, but that's not quite ready yet, so for now you'll have to build your own.

Where is the Azure Storage library changelog?

I'm using the official nuget package of Windows Azure Storage Client Library to retrieve items of my Azure tables.
Recently I updated the package from version 2.0.2.0 to 2.0.5.0 and my app stopped working because the results returned by my storage query are different with the new version.
I'm looking for the library changelog in order to understand how to fix the issue.
Do you know where can I find it ?
The link provided on the nuget page seems to be outdated (it's a changelog between 1.x and 2.x, not between 2.0.2 and 2.0.5 !). Also, the Windows Azure Storage team's blog is not updated.
Please refer to the changelog.txt that is always updated with the respective source code changes.
The changelog is always up to date at https://github.com/Azure/azure-storage-net/blob/master/changelog.txt

Resources