New Telerik AJAX Skins Assembly

by ASP.NET AJAX Team | Comments 19

In order to make the usage of embedded Telerik skins even more transparent than before and reduce the size of the main Telerik AJAX assembly (Telerik.Web.UI.dll), we decided to introduce a separate dll for the AJAX skins (Telerik.Web.UI.Skins.dll) to attain both goals. This assembly will be commenced with the official Q2 2011 release and some of you may have already noticed it in the AJAX Q2 2011 BETA pack posted several days ago.

Telerik.Web.UI.Skins.dll will accommodate the new set of skins shipped with the AJAX Q2 2011 drop (Transparent + Office2010 Blue/Silver/Black) while the rest of the skins will remain wrapped in the Telerik.Web.UI.dll. You will not need to register this additional dll explicitly on your pages but simply copy and reference it either from the /bin folder of your project (see the screenshot below) or the Global Assembly Cache (GAC), which ensures seamless backward compatibility with previous versions of the Telerik AJAX controls. Thus the Telerik.Web.UI.Skins assembly will be automatically referenced/loaded by triggering mechanism initiated when one of the newly introduced skins mentioned above is specified for a Telerik AJAX controls, either from design-time or at runtime. Note that in case you do not intend to apply Transparent or Office2010 type of skin, you do not need to copy and reference the Telerik.Web.UI.Skins assembly at all and solely the Telerik.Web.UI.dll will be loaded in the memory.

AJAX_Skins_Assembly

To make the transition from pre- Q2 2011 versions as smooth as possible, the predefined Telerik skins are divided both in the Telerik.Web.UI and Telerik.Web.UI.Skins assemblies for one quarter, starting Q2 2011 until Q3 2011. After that, all embedded skins (except the Default one, which will remain plugged in the Telerik.Web.UI.dll) will be shifted to the Telerik.Web.UI.Skins.dll and to utilize any embedded skin other than the Default skin, you will have to have a valid reference to the new AJAX skins dll in your project.

Note: You will be able to expend the four new skins (Transparent + Office2010 variations) with the Q2 2011 release of the AJAX controls only (older versions are not supported). This is due to the fact that the Telerik.Web.UI.Skins assembly has a version which is mandatory to match the Telerik.Web.UI assembly version. If you try to reference Telerik.Web.UI.Skins.dll with version different than that of the Telerik.Web.UI.dll you have, the first simply will not be recognized and referenced/loaded. The same holds true for future versions of both assemblies.

About the author

Stefan Rahnev

Stefan Rahnev

is the Unit Manager of the ASP.NET Telerik Division. He has been working for the company since 2005, when he started out as a regular support officer. His next steps at Telerik took him through the positions of Technical Support Director and co-team leader in one of the ASP.NET AJAX teams. Stefan’s main interests are web development, agile processes planning and management, client services and psychology.

Posted in: skin aspnet-ajax

19 Comments

Ben Hayat
Stefan, I've had issues previously where I'd install the new version of Telerik ASP.Net and even though when I'd start my project for the first time, the VS extension would ask me if I want to upgrade to new version and I had selected yes.
Then when I looked at the version # of the dll in the properties, it was still the older version.

So, I had to manually go to references, remove the Telerik.Web.UI dll and manually reference it to the following directory:

C:\Program Files\Telerik\RadControls for ASP.NET AJAX Q1 2011\Bin40

This was the only way for me  to get to correct version and the wizard didn't work right.

Now, in the above blog you said:
"simply copy and reference it either from the /bin folder of your project (see the screenshot below) or the Global Assembly Cache (GAC)"

Can you elaborate "Copy" from where and to where and reference it from where?
Referencing to CAC or Project BIN or Telerik installed location has been a confusing issue when installing ASP.Net controls.
If you could please give a clear guideline or have the installer do the proper referencing.
Thank you in advance!
Stefan
Ben, I mean to copy the file from the Telerik AJAX controls distribution to the /bin folder of your ASP.NET AJAX web project or the GAC on your machine, and reference it from there.
Ben Hayat
Ok, Thanks!

I've found referencing it directly to the Telerik distribution location as the best way (in my case). Hope this is ok!
..Ben
JamesF
What is the advantage of this, since most users will have to load both assemblies anyway? Would it be more helpful to have a separate assembly for each skin so you only have to load the skin you're using?
Stefan
Good point,  but thus you will have to register 17 assemblies more (that much are the current skins minus the Default) and this number will increase gradually with future releases. That is why we chose to isolate the skins into one assembly and make the copy/register process as simple as possible. 
PaulJ
Stefan, I agree with JamesF. Why would one have to register all 17 assemblies? Wouldn't they only register those assemblies of the skins they are using within their project? My projects tend to use only one, occasionally 2 skins. If they're using all 17 skins in a single project, they have other issues they need to be addressing...
Stefan Rahnev
You are right, but from our experience we deduce that in most mid-size or large projects our clients use at least 2 or 3 skins, probably more, and their registration would often be a cumbersome task. That is why we went this path to be on the safe side and spare unnecessary hassle. Still, if you like, you can build your own skin assembly (hosting one or two skins only) or register a single external skin and reference it with RadSkinManager as depicted here: http://www.telerik.com/help/aspnet-ajax/radskinmanager.html
PaulJ
I understand. You guys gotta do what's best for your customers over all based on your findings. thanks for the tip too.
John
It would be more helpful to have a separate dll for each Skin set - all you've done is move all the skins from one dll to another. What has this achieved?
Stefan Rahnev
John, see the previous several comments on the same subject.
Aaron
I think the way they chose to do it is the best way. I don't want to have to register an assembly for each skin, since I'll provide the ability for my users to select which skin they want.
Mohamed fathy
i have a problem with skins in Q3 2011 Asp.net ajax  , i  am not found and skins in smart tag for controls . i uninstalled and installed again but the problem is still , i use VS 2010 with  SP! and windows 2008 R2 with SP1. please send me the solution on this mail with  steps  and with picture.
Stefan Rahnev
If you have issues using the skins with the Q3'11 release, please open a formal support ticket or write about it in our public forums to get help.
Patrice Boissonneault
Is Telerik.Web.UI.XML really needed here?  Do we need to deploy this file?
lini
No, the Telerik.Web.UI.XML file is not needed in a production environment. It is only useful during development - it holds intellisense data for the RadControls classes, methods and properties.
Chris Wilson
Just a note add to anybody who had the same issue I did and has googled to find this post...
After following the instructions to add the new skins dll to the Bin folder I was still getting problems with my controls in an existing project not finding the skins in design mode on the aspx pages.
For convenience I was always picking up the solution I am currently working on from the recent projects list on the visual studio start page and it appears that this did not complete the registration process for the new dll.
It was only after I did a full  File-Open-Project on the solution that all the skin references returned.
msrao
We have a problem with one of the skin from development box to production box. we referenced Telerik.Web.UI.skins.dll  and applied
the attribute skin='Forest' for one of the radtreeview control ;
In dev. box which works fine , but the same codebase is deployed on production server which is giving a  problem and the skin made the treeview control  collapsed without having tree expanded buttons(+,-).
Some one can guide about it and how this issue has to be fixed..
Rolando
having the same problem as msrao, ... can someone define the word reference... which one is it, reference witihin the project and/or reference from the markup?
Thanks,
RO

Comments

  1.    
      
      
       
  2. (optional, emails won't be shown on public pages)
  3. (optional)
Read more articles by ASP.NET AJAX Team - or - read latest articles in Developer Tools