XF + DryIoc: Unable to select single public constructor from implementation type Xamarin.Forms.NavigationPage - prism

I just created a XF + Prism + DryIoc project using Prism template in VS2017.
I updated an app XF and Prism to latest:
XF: 2.5.0.121934
Prism: 7.0.0.336-pre
Without adding any of more code (except fixing breaking changes with latest Prism 7), when running the app I get:
Unable to select single public constructor from implementation type
Xamarin.Forms.NavigationPage
I search a bit and I found https://github.com/PrismLibrary/Prism/issues/889 but issue is supposed to be resolved with latest DryIoc.
Any ideas?

This has been fixed and is available in the latest CI build on MyGet.

As Brian indicated this was fixed and is on MyGet. This was actually a bit of a regression that was caused by our move to unify the API and abstract the IOC containers in Prism 7. You'll notice this was reported:
Issue 1304
Issue 1309
Issue 1311
And was fixed in PR 1305. The fix is available in 7.0.0.340-ci or later.

Related

How do I manually remove a nuget package for .Net MAUI

I'm in the process of migration a XamarinForms 5 app to MAUI and the latest error I get is
The Java type `mono.android.support.v4.media.session.MediaSessionCompat_OnActiveChangeListenerImplementor` is generated by more than one managed type
Searching online, so far I think it is because the app is using Android.Support.V4 when it should only be using AndroidX, causing the duplicate to be generated as AndroidX replaces Support.V4.
However I cannot figure out how to remove the Support.v4 package because the only reference to it is an implicit reference by an SDK which I cannot remove ( see screenshot below)
The project file (MAUI) only has these package references
Any help greatly appreciated.
Thanks
I'll answer my own question as I managed to figure out the issue after a solid several hours long session.
No packages needed to be removed. Somehow I had managed to install a version of
Birdie.Plugin.FirebasePushNotification from 2020 , instead of `Plugin.FirebasePushNotification', the current version.
The solution was to remove that old package and install the correct once which made the error go away.

Mvvmcross 7.0.0: using MvvmCross.Forms.Platforms.Android.Core not found

I want to clear some troubles with adding MVVM cross 7.0.0 in an empty project (Xamarin.Forms). I had followed this guide from MVVM cross docs: https://www.mvvmcross.com/documentation/tutorials/tipcalc/a-xamarin-forms-version
By the way, they didn't add actual MVVM cross ver for this tutorial :( So now I'm facing issue with the invalid package name in Forms Android project, so I couldn't use "MvxFormsAndroidSetup" and "MvxFormsAppCompatActivity".
Does someone know how to fix it?
VS error img
You are getting the error because your Android Project targetting monodroid9.0 or lower. When you're upgrading to MvvmCross 7.x, you have to set your Android-Target version to monodroid10.0 or higher. As you can see in the picture, with android 9, it didn't recognize the mvvmcross-nugget.
Look at the release-news to see all changes;

CS0117: 'ProjectName.Droid.Resource.Styleable' does not contain a definition for

I just upgraded from MvvmCross 3.5.1 to MvvmCross 4.0. I'm getting around 40 errors like this when building Android in the Resource.Designer.cs file.
iOS works fine.
error CS0117: 'ProjectName.Droid.Resource.Styleable' does not contain a definition for 'Theme_seekBarStyle'
The line of code looks like this.
global::Chance.MvvmCross.Plugins.UserInteraction.Droid.Resource.Styleable.Theme_seekBarStyle = global::ProjectName.Droid.Resource.Styleable.Theme_seekBarStyle;
I've tried cleaning and rebuilding multiple times as well as deleting bin and obj folders.
I've also removed the nuget packages and had them restored as well as reinstalled them but nothing seems to work.
I've tried updating AppCompat but it won't update, saying it couldn't find versions of Xamarin Forms compatible with the version, even though I have the latest version of Xamarin forms.
All my Android SDKs are up to date
Has anyone else encountered this error? If so, how did you resolve it?
Thank you,
It turned out to be an old outdated package. Removing it fixed all the bugs.
Its called MvvmCross UserInteraction Plugin.

Xamarin Android Support V4 error

I started a new default working project in xamarin and I added the dll references for Xamarin.Android.Support.V4 and Xamarin.Android.Support.V7.AppCompat and I am getting errors.
Error: package android.support.v4.app.FragmentManager does not exist
android.support.v4.app.FragmentManager.OnBackStackChangedListener
Error: package android.support.v4.content.Loader does not exist
android.support.v4.content.Loader.OnLoadCompleteListener
...
What have I done wrong?
You needed to actually install the support library. MonoDroid has .NET bindings for it, but the underlying java can't build without it, of course. Here are instructions for getting the support library and instructions for hooking it up to a MonoDroid project.
See also http://developer.xamarin.com/Guides/Android/Platform_Features/Fragments/Part_4_-_Providing_Backwards_Compatibility_with_the_Android_Support_Package/#Adding_The_V4_Libraries_to_a_Mono_for_Android_Project
This might be related to this or this, which were solutions to common problems in the rev. 22 update.
try calling it with this:
using Android.Support.V4;
I was reading another post in the xamarin forms with the same issue and this worked for me. I spent maybe an hour trying to figure out what to do and the guy I ran into said just to:
clean the solution,
rebuild it,
then it should be fixed.
Assuming the packages are still installed

How to update Kobold2D 2.1 project to MacOS10.10 / XCode 6.1?

we've got a major project written in Kobold2D by Steffen Itterheim, (which is itself a wrapper for Cocos 2.1), and since upgrading to XCode 6.1/OS X 10.10, the new iOS 8 framework seems to render many parts of the Kobold-library and the Cocos implementation unusable, or it seems to need a rewrite.
Has anyone updated a Kobold2D project successfully to iOS8 yet?
Are there simple ways to upgrade it, or is it necessary to rewrite the entire library?
If there are no simple ways to upgrade, has anyone migrated a project from Kobold to cocos 3 yet?
Any hints would be much appreciated!
Averett
PS. I have seen this question: How to convert Kobold2D into a new Cocos2D 3.x project? - but the answer is not very helpful, as this solution would omit iOS 8.
We actually have created a script to make the necessary changes to Kobold2D. You can find it in this post:
https://www.makegameswith.us/gamernews/406/xcode-6-fixes-for-kobold2d
Basically all you need to do is run
curl https://s3.amazonaws.com/mgwu-misc/xcode6_kobold_patch.sh | sh
in the terminal, when you are in the root folder of your project.
I have just compiled my Kobold2D 2.1 project using XCode 6.0.1. It breaks initially at several lines, but it's easy to fix. I only found a couple of errors:
Multiple methods named 'setPosition:' found
Example:
[_target setPosition: newPos];
Fix: cast the object to CCNode
[(CCNode*)_target setPosition: newPos];
Do this for all errors found
You also need to import "ccNode.h" at the top of the file.
Use of undeclared identifier 'MPMovieControlModeHidden'
I found that the #ifdef__ #endif enclosing the offending line was commented out. Uncomment them to fix the problem.

Resources