Issue using UI Skins from the Xamarin Component Store - xamarin.ios

When I download a skin from the Component store, then try to use it, I am doing it using the Unified/Universal layouts/platform. I am getting this error:
MTOUCHTASK: error MT2002: Failed to resolve "System.Void UIKit.UINavigationBar::SetTitleTextAttributes(UIKit.UITextAttributes)" reference from "Xamarin.iOS, Version=0.0.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065"
It is happening with all skins. What am I doing wrong?
Here is my solution: https://dl.dropboxusercontent.com/u/41261911/testForUIChange.zip

Based on the dates (Jan 11th) you were probably using an beta version of XI 8.6 along with the component from the store (which always target stable, 8.4).
There were some difference between the unified preview (in 8.4) and the final version of the API (shipped with 8.6). That make it harder to find the right binary component to match.
As of today (Jan 12th 2015) Xamarin.iOS 8.6 is stable, has the final unified API and the component store has updated most of the components (some 3rd parties might not yet be available right now) to the final unified API.
IOW there's a good chance you can update your components (if you were already on 8.6) or all your software (if you were not on 8.6) and get a working build.

Related

VS not finding implementation

I have several questions regarding Visual Studio:
two developers using VS2012 and VS2013 are working on the same project but the one with the lower version studio cannot use ctrl+F12 to find the implementation of a function.
Those implementations are separated from the interfaces in another library-project.
Second question is strictly concerning VS2013:
two different solutions both are MVC, the first one is version 5.2.2.0 and the other is - 4.0.0.0
in the second project I am able to find a view by using F12 on in the controller (e.g. return View(model); or return View("CustomFormat", model);)
However I am not able to do it in my first project.
Any information on why it is the way it is or how to fix it, would be appreciated.
TLDR;
Q1: Why doesn't ctrl+F12 work in VS2012 when decoupled implementation from declaration (but it does work in VS2013)
Q2: Why doesn't F12 when pressed on 'View' return View(model); find the View itself regarding using 2 different MVC version projects (one is 5 and the other is 4)

How to use System.Drawing.Color?

I've faced with problem yesterday. I want to use System.Drawing.Color structure in Android and iOS projects. Xamarin documentation claims that MonoTouch framework has System.Drawing.Color structure (link - http://iosapi.xamarin.com/?link=T:System.Drawing.Color). But in monotouch.dll namespace System.Drawing hasn't structure with name Color.
What did I do wrong?
Add a reference to the OpenTK library and you'll have System.Drawing.Color available. The doc you linked was indicating it:
To add a reference: double click on Reference in your project, and under the **All* tab, select OpenTK,
It clearly states "System.Drawing.Color Structure", i.e. not
namespace. This means you cannot do something like "using
System.Drawing.Color;" in C#.
For all your color needs in iOS, you need to use MonoTouch.UIKit.UIColor, the type that MonoTouch uses in most cases (e.g. all the UIKit API).
I am not sure for Android, but I guess you need to use Android.Graphics.Color

Override/Implement Members in MonoDevelop

I am working through the pluralsight videos on MonoTouch. At one point, the trainer right clicks on the name of a derived class, and in the 'refactor' menu there is a function to override/implement members of that class. When I click however (latest version), I see only 'rename.'
The person in this link had the same issue some time ago and has included screenshots - but noone replied to them in the MonoTouch discussion group:
http://monotouch.2284126.n4.nabble.com/Right-Click-Class-name-gt-Refactor-gt-Override-Implement-members-tt4655504.html#none
Has anyone experienced (and resolved!) this?
Some of the refactoring features were reorganized or removed (for now) in the rewrite of the code code completion engine that took place for MD 3.0.
You can still access this particular feature two ways:
1) After typing the "override" keyword, MD offers the members you can override/implement. Selecting one will cause it to be stubbed out.
2) You can override many members at once using the "Edit->Show Code Generation Window" command in the class body. This command doesn't have a keybinding on Mac by default, but you can assign one in Preferences.
MonoDevelop 3.0 (and later) removed some features (including a few about refactoring) since they were not as stable, fully functional (complete) or buggy.
The same features (or similar ones) are likely to come back in future releases.

How to get ProductVersion of previous installation during update in InstallShield

I have BasicMsi project in InstallShield. I want to be able to update this application however I cannot find InstallShield variable that returns the number of already installed ProductVersion, I know that I can workout this version manually by using Upgrade node and defining set of rules however right now I'm searching for the simplest solution. I want to use this version number in code in order to feed some tool that bases on this value.
I want to be able to upgrade to the current version, not only from the previous version (for example 3.0.2) but also from earlier ones (2.1.0, 1.0.0 etc).
If we are talking Major Upgrades your ActionProperty defined in the Upgrade table will have the ProductCode after FindRelatedProducts has executed. There is also UPGRADINGPRODUCTCODE that is set by RemoveExistingProducts.
I know of no other built-in mechanism to resolve the ProductVersion of the product being upgraded. You will have to write a custom action to query the MSI API based on your ProductCode / UpgradeCode to get this information.
An alternative would be to write a registry value during the first install ( or perhaps even use what's already stored in Add/Remove Programs Uninstall key ) and then use an AppSearch/Reglocator combo to fetch it into a property.

use subsonic 2.x and 3.x in the same project

Is it possible to mix them? I'm asking because I have a big project that uses Subsonic 2.x generated classes (in a compiled dll) but would like to start using 3.x for new stuff.
I tried it last night with a project where I had references to both subsonic.dll and subsonic.core.dll but that didn't work with ambiguous references, etc. So removed 2.x and then got an issue with my older compiled subsonic generated classes in that they needed Subsonic 2.1 to run.
Hmm... I think there's a small chance that you might be able to do this, but you'd need to use the full qualifying class names (namespace.class) for a lot of code because there might be naming conflicts. It wouldn't be easy to do and definitely not recommended. (It might not can even be done.)
You can't move from 2.x to 3.x without doing a lot of recoding. I have a bunch of big projects in 2.2 and after trying to update to 3.0, I ran into some issues so I've decided to keep them in 2.2. I'd love to upgrade to 3.0 and use the new stuff, too, but I don't have the time (right now) to recode the stuff that changed between 2.x and 3.0.
I do recommend updating to 2.2. There shouldn't be any backwards compatibility issues between 2.1 and 2.2. I was able to update to 2.2 by just changing out my reference.
Just curious, are you using ActiveRecord or Repo implementation?
You only have 2 options:
stay in 2.1/2.2
update your code to 3.0
Thought I'd follow up here and let people know that I was able to get this to work. What i chose to do was to edit the Subsonic 2 source code and put it into a Subsonic2 namespace (everything), recompile to subsonic2.dll, etc. Had to modify the web.config slightly, then went and modified my old code to reference subsonic2, etc.
Am now able to mix both Subsonic 2 and 3 in the same project.
Gerry
Jim--I'm using ActiveRecord. The 2.x is in one namespace and 3.x would be in another. However, I guess the question is whether the 2.x can be compiled to run with the 3.x runtime.
Thanks,
Gerry

Resources