MVVM Quickstart: InfoTipToggleButton does not exist

Topics: Prism v4 - Silverlight 4
Nov 2, 2011 at 7:01 PM

I am trying to build the MVVM Quickstart solution. I have referenced the Microsoft.Practices.Prism.GuidanceTools assembly.

When I try to build, I get an error:
The tag 'InfoTipToggleButton' does not exist in XML namespace 'clr-namespace:Microsoft.Practices.Prism.GuidanceTools;assembly=Microsoft.Practices.Prism.GuidanceTools'.

I’ve searched the ‘Net thoroughly but can’t find anyone else with this problem. Looking at the assembly in reflector indicates that the button does indeed exist.

Help, please?

TIA!

 

Developer
Nov 3, 2011 at 5:53 PM

Hi,

I tried to reproduce the scenario you mentioned but without success. Have you check for all the requirements needed before you can use the Prism Library?
This requirements are specified in the Prism documentation, Installing Prism at MDSN:

  • Microsoft .NET Framework 4.0 (installed with Visual Studio 2010)
  • Microsoft Visual Studio 2010 Professional, Premium, or Ultimate editions

Additionally if you are developing Silverlight applications like the MVVM Quickstart, the following must be installed: 

I hope you find this useful.

Agustin Adami
http://blogs.southworks.net/aadami


Nov 3, 2011 at 6:38 PM

I’ve installed all of the requirements. I’ve got:

Silverlight 4 SDK, Version 4.0.60310.0
Silverlight 4 Toolkit April 1020, Version 4.0.40413.2020
Silverlight Tools for VS 2010, Version 10.0.30319.400
VS 2010 Ultimate with SP1
Microsoft.Practices.Prism.GuidanceTools.dll, Version 1.0.0.0

I’ve registered the Prism assemblies via the batch file, and I think I’ve followed all of the other instructions properly.

When I examine the dll in Reflector, I see that InfoTipToggleButton is in the dll.

I have no idea how to proceed. Could you send me the button’s source code so I can include it in the projects (several need access to the button)?

Best regards,

Leroy

 

Developer
Nov 4, 2011 at 4:54 PM
Edited Nov 7, 2011 at 12:34 PM

Hi,

Based on our findings, as mentioned in this thread the GuidanceTools source code isn't provided in the Prism download. So far, we tried to reproduce the error in a scenario with the same versions you mentioned, and couldn't achieve it. Until now that error only appears to us if we remove the reference to the Microsoft.Practices.Prism.GuidanceTools assembly.

Also we disassembled the file and found that these are its references:

  • System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
  • mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e

You could, for example, check if your assemblies versions match with those.

Other than that, we believe this problem could be related to your environment, therefore you could try running the Quickstart on a different environment, from a fresh installation.

I hope you find this useful.

Agustin Adami
http://blogs.southworks.net/aadami


Nov 4, 2011 at 7:26 PM

Thanks, Agustin, I appreciate your help. I'm desperate to work through the examples which depend on this button.

When you mention Microsoft.Practices.GuidanceTools, do you mean Microsoft.Practices.Prism.GuidanceTools?

I don't have a Microsoft.Practices.GuidanceTools. When I examine Microsoft.Practices.Prism.GuidanceTools (ver 1.0.0.0) I do find InfoTipToggleButton.

I don't have System.Windows.dll 2.0.5.0; the lowest version I have is 3.x.

I don't have mscorlib.dll 2.0.5.0, but I do have lots of other 2.0.5x.x's (listed below).

Perhaps this is the problem? If so, where can I get the correct versions of mscorlib & System.Windows?

2.0.50727.3074
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v3.5\Profile\Client\mscorlib.dll


2.0.50727.4927
C:\Windows\winsxs\amd64_mscorlib_b77a5c561934e089_6.1.7600.16385_none_54909cf4692b5b3c\mscorlib.dll
C:\Windows\winsxs\x86_mscorlib_b77a5c561934e089_6.1.7600.16385_none_9c3dd3cb7da78442\mscorlib.dll

2.0.50727.4952
C:\Windows\winsxs\amd64_mscorlib_b77a5c561934e089_6.1.7600.16597_none_54916f66692aa877\mscorlib.dll
C:\Windows\winsxs\x86_mscorlib_b77a5c561934e089_6.1.7600.16597_none_9c3ea63d7da6d17d\mscorlib.dll

2.0.50727.5018
C:\Windows\winsxs\amd64_mscorlib_b77a5c561934e089_6.1.7600.20717_none_3dbbc63282d93e16\mscorlib.dll
C:\Windows\winsxs\x86_mscorlib_b77a5c561934e089_6.1.7600.20717_none_8568fd099755671c\mscorlib.dll

2.0.50727.5420
C:\Windows\winsxs\amd64_mscorlib_b77a5c561934e089_6.1.7601.17514_none_5465aa786982a1f2\mscorlib.dll
C:\Windows\winsxs\x86_mscorlib_b77a5c561934e089_6.1.7601.17514_none_9c12e14f7dfecaf8\mscorlib.dll

2.0.50727.5444
C:\Windows\winsxs\amd64_mscorlib_b77a5c561934e089_6.1.7601.17559_none_546939b8697f8773\mscorlib.dll
C:\Windows\winsxs\x86_mscorlib_b77a5c561934e089_6.1.7601.17559_none_9c16708f7dfbb079\mscorlib.dll

2.0.50727.5446
C:\Windows\winsxs\amd64_mscorlib_b77a5c561934e089_6.1.7601.17587_none_546c6826697ca036\mscorlib.dll
C:\Windows\winsxs\x86_mscorlib_b77a5c561934e089_6.1.7601.17587_none_9c199efd7df8c93c\mscorlib.dll

2.0.50727.5448
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorlib.dll
C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll
C:\Windows\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll
C:\Windows\assembly\GAC_64\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll
C:\Windows\winsxs\amd64_mscorlib_b77a5c561934e089_6.1.7601.17648_none_54685012698054cc\mscorlib.dll
C:\Windows\winsxs\x86_mscorlib_b77a5c561934e089_6.1.7601.17648_none_9c1586e97dfc7dd2\mscorlib.dll

2.0.50727.5653
C:\Windows\winsxs\amd64_mscorlib_b77a5c561934e089_6.1.7601.21660_none_3d9d604a83251a27\mscorlib.dll
C:\Windows\winsxs\x86_mscorlib_b77a5c561934e089_6.1.7601.21660_none_854a972197a1432d\mscorlib.dll

2.0.50727.5662
C:\Windows\winsxs\amd64_mscorlib_b77a5c561934e089_6.1.7601.21693_none_3da01cd08322b30f\mscorlib.dll
C:\Windows\winsxs\x86_mscorlib_b77a5c561934e089_6.1.7601.21693_none_854d53a7979edc15\mscorlib.dll

2.0.50727.5681
C:\Windows\winsxs\amd64_mscorlib_b77a5c561934e089_6.1.7601.21768_none_3d9ca9e68325e780\mscorlib.dll
C:\Windows\winsxs\x86_mscorlib_b77a5c561934e089_6.1.7601.21768_none_8549e0bd97a21086\mscorlib.dll

 

Developer
Nov 7, 2011 at 12:27 PM

Hi,

Thanks for the clarification, I was refering to Microsoft.Practices.Prism.GuidanceTools.

Regarding the aforementioned assemblies you should be able to find them in the following locations:

C:\Program Files (x86)\Microsoft SDKs\Silverlight\v4.0\Libraries\Client\System.Windows.Controls.dll
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\mscorlib.dll

It would be worth noting that the assemblies you mentioned are for .NET Framework, whereas you should be checking for the Silverlight ones.

Regards,

Agustin Adami
http://blogs.southworks.net/aadami


Nov 7, 2011 at 2:32 PM

Now I'm confused. In a previous message you suggested that I verify that I have assemblies which match the versions you mentioned:

   "Also we disassembled the file and found that these are its references:

  • System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
  • mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e

   "You could, for example, check if your assemblies versions match with those."

I replied that I don't have exact matches for any of those assemblies. In your latest reply you directed me to check for Silverlight 4 assemblies, which leads me to believe that it doesn’t matter if I’ve got the 2.x versions installed. Is this correct?

I don’t have another system to try this on; short of removing and reinstalling everything, is there something else I can do to get things working?

 

Developer
Nov 7, 2011 at 3:21 PM
Edited Nov 7, 2011 at 3:23 PM

Hi,

The assemblies we're mentioning are the Silverlight ones; Silverlight assemblies also have a Version, as shown in the following article from MSDN:

Therefore, what we're saying when mentioning that you should check for the Silverlight assemblies, we mean that you should look for System.Windows, Version=2.0.5.0, and mscorlib, Version=2.0.5.0 in the Silverlight folders. Thus, you should check if you have the following files (in the path specified):

  • C:\Program Files (x86)\Microsoft SDKs\Silverlight\v4.0\Libraries\Client\System.Windows.Controls.dll
  • C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\mscorlib.dll

The assemblies you mentioned in your previous post are the .NET ones, which aren't used in Silverlight.

Other than that, in case the aforementioned does not suffice to make the QuickStart work in your current environment, as a workaround you could remove the occurences of the InfoTipToggleButton in the QuickStart code, so that you can check the remaining functionality of the QuickStart.

I hope you find this helpful.

Guido Leandro Maliandi 
http://blogs.southworks.net/gmaliandi

Nov 7, 2011 at 7:58 PM

Thanks, Guido.

I was referring to the Silverlight assemblies above, but misunderstanding the version numbers. When I was looking at version numbers earlier, I was doing so via Windows Explorer/Properties dialog. When I look at the version from within VS I see the versions that you have been recommending.

Since I am using the recommended versions of the assemblies without success, and don't want to uninstall/reinstall, I'll follow your recommendation to remove the InfoTipToggleButton references.

Thanks once again,

Leroy