Xamarin ios unified version is not allowed to install Mvvmcross - xamarin.ios

I have updated xamarin ios from classic api to unified api.
When i trying to add Mvvmcross nuget package it shows following error
Could not install package 'MvvmCross.PortableSupport 3.2.2'. You are trying to install
this package into a project that targets 'Xamarin.iOS,Version=v1.0', but the package does
not contain any assembly references or content files that are compatible with that
framework. For more information, contact the package author.
Please help.

The MvvmCross.PortableSupport 3.2.2 NuGet package contains an empty Portable Class Library folder and can be installed into a Xamarin.iOS project if you have the Portable Class Libraries installed for Xamarin and if you have the latest version of NuGet installed.
So you may not have the PCLs installed for Xamarin or, if you are using Visual Studio, then your NuGet version may be too old and need to be updated.
To get the Portable Class Libraries:
If you are on the Mac you should install the Mono Development Kit (MDK).
If you are on Windows then things are can be more complicated. The simplest way is to install Visual Studio 2013 (full or Express) Update 2 or higher. The more complicated way is to install the Portable Library Tools and the Portable Library Reference Assemblies 4.6. The Portable Library Reference assemblies installs a PortableReferenceAssemblies.zip file which contains three directories (4.0, 4.5 and 4.6). These three directories need to be extracted and copied into the PCLs directory:
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable
Finally on Windows you would then need to reinstall Xamarin. The easiest way to do this is to find Xamarin in the Control panel's Programs and Features and select the option to Repair it.

Related

which cmake will Android plugin use?

With Android Studio 3.3 I use native (C++) library, which I built with CMake. The Android plugin (v. 3.2.1) will choose the 'builtin' or 'external' cmake, depending on the configuration of externalNativeBuild, as documented at developer.android.com.
I want to add an extra custom task (install) that should use the same cmake version as the Android Plugin. But even with the 'builtin' cmake, it's not clear what the path is. I can find android.sdkDirectory, but even there I have today sdk\cmake\3.6.4111459 and sdk\cmake\3.10.2.4988404, and for some strange reason, some of my projects choose 3.6, while others use 3.10. This contradicts the official the release notes for Android Studio that "Gradle still uses version 3.6.0 by default", but well…
How can I decide which to use, without reimplementing the Android Plugin's obscure logic?
One workaround that may help, parse the first line of the generated file .externalNativeBuild/cmake/debug/armeabi-v7a/cmake_build_command.txt:
Executable : C:\local\Android\sdk\cmake\3.10.2.4988404\bin\cmake.exe
This still needs some adjustments, because the later versions of build tools will use .cxx instead of .externalNativeBuild; the build variant names may be different too.
Android Studio will pick up the latest CMake version under sdk\cmake, but you can configure your particular version from
externalNativeBuild {
cmake {
...
version "cmake-version"
}
}
And specify our custom CMake director as below inside local.properties
cmake.dir="path-to-cmake"
Or, you can choose NOT to upgrade your CMake from SDK Manager (just to delete the sdk\cmake\<version to delete> folder will be fine) so that you can stick to the CMake version your project is comfortable with.

Can't install M2MQTT Nuget package to Xamarin.iOS

When installing the Nuget package for M2MQTT 4.3 to my Xamarin.iOS project, I get the following error:
Could not install package 'M2Mqtt 4.3.0'. You are trying to install
this package into a project that targets 'Xamarin.iOS,Version=v1.0',
but the package does not contain any assembly references or content
files that are compatible with that framework.
However, 4.2 works fine. I have seen this error pop up for some other packages too, and my Nuget is up to date. This error shows up when I try to install in VS2017 on Windows and also on Visual Studio for Mac.
Should it be possible to build the package myself from source, and if so, what do I need to change to make it compatible (assuming that the library doesn't actually use part of .NET that Xamarin.iOS doesn't support)?
The reason I need to update is that on 4.2 I get the following error when trying to create a MqttClient:
The type 'IPAddress' is defined in an assembly that is not referenced.
You must add a reference to assembly 'System, Version=3.9.0.0...'
and my hope is that this error will be resolved in the newest version.

Add Tweetinvi to mono without nuget

I had to make a .NET project in Linux using monodevelop. When I tried monodevelop in Ubuntu I got an error message when I used nuget at certain packages saying my version is 2.8 and I needed 2.12 or earlier.I updated nuget package successfully in terminal but monodevelop uses 2.8 no matter what I do. The nuget package I can't use because of this is Tweetinvi.
In order to solve this I have to either add tweetinvi without using nuget or manage to use nuget 2.12 running from outside monodevelop, which I could not find out how to do.
https://github.com/linvi/tweetinvi
MonoDevelop does not use the NuGet version supplied by Mono that is available from the command line. So updating the command line version of NuGet will not resolve any problems with MonoDevelop.
More recent versions of MonoDevelop use later versions of NuGet.
The last MonoDevelop version 5 release was version 5.10 which supports NuGet 2.8.7.
Support for MonoDevelop 2.12 was added in MonoDevelop 6.0.2. NuGet v3 support was added in MonoDevelop 6.1. Currently MonoDevelop 6 is only available as a FlatPak package unless you build it from source.
If you cannot build MonoDevelop from source you may be able to upgrade NuGet by copying the NuGet.Core.dll from the mono/nuget-binary GitHub repository and copying it into the NuGet addin directory addins/MonoDevelop.PackageManagement, but take a backup copy of the original NuGet.Core.dll before you do that so you can rollback the change if it does not work.
I am the developer of the library and the installation of the library without nuget is not supported on mono because I do not have enough time to look into it.
Tweetinvi supports mono > 4.5 with nuget.

Support library missing

I am trying to add an existing project as a module. However, it wont compile as it says this library is missing:
android-support-v4.jar => com.android.support:support-v4:20.+
I have opened the sdk manager and installed the latest version of Android Support Library but the error remains. How can I fix this please?
Make sure that you have the "Android Support Repository" installed under "Extras" in the SDK manager.
The support libraries are managed in a local Maven repository, and that repository is the "Android Support Repository" component.
You can manually search the android support library jar in the android sdk directory and then copy it to a directory included in your projects library path. I believe the jar should be somewhere in the \extras\android\support directory.
Note: I must do that when developing android apps with netbeans + android plugin. Not sure if android studio is supposed to pick the support library automatically from the sdk folder.

Adding NuGet ndef library to windows phone 8 project

So I tried to add the NDEF library for proximity application in Visual Studio 2012 for a Windows Phone 8 app. In Package Manager I checked Allow NuGet to download missing packages during build and in the Solution Explorer I selected Enable NuGet Package Restore.
So far so good, but when i try to install the package I get the following error:
Could not install package 'NdefLibrary 0.9.0.1'. You are trying to install this package into a project that targets 'WindowsPhone,Version=v8.0', but the package does not contain any assembly references that are compatible with that framework. For more information, contact the package author.
This works fine on my dev box. Here's the output from my NuGet package manager on a WP8 project:
PM> Install-Package NdefLibrary
You are downloading NdefLibrary from Andreas Jakl, the license agreement to which is available at https://ndef.codeplex.com/license. Check the package for additional dependencies, which may come with their own license agreement(s). Your use of the package and dependencies constitutes your acceptance of their license agreements. If you do not accept the license agreement(s), then delete the relevant components from your device.
Successfully installed 'NdefLibrary 0.9.0.1'.
Successfully added 'NdefLibrary 0.9.0.1' to Wp8TestApp.
What you're probably missing is to update your NuGet package manager to the latest version. Go to Visual Studio File Menu --> Tools --> Extensions and Updates --> Updates --> Visual Studio Gallery --> NuGet --> Update and finally you'll need to restart. The reason why this update is needed is that the NuGet version that ships with VS2012 RTM doesn't support WP8 since WP8 didn't RTM before VS2012 did.

Resources