Monday, August 03, 2009

WSPBuilder Extensions ver. 1.0.6 - (WSPBuilder Version: 0.9.9.0728)

Some new updates have been made for WSPBuilder...


  • A Reference folder under GAC and 80/Bin is now supported for large dlls that do not need reflection for SafeControls and Permissions.
  • New menu function "Recycle the Windows SharePoint Services Timer" implemented on WSPBuilder Extensions.
  • Refactoring of "Copy to GAC" in order to improve the functionality.
  • Bug fixed! "Unable to get solution id from manifest: Unable to extract manifest.xml ..." error for x64 systems.
  • CabLib.dll updated to new version 10.5.
  • Its now possible to include the Cablib.dll into the WSP package.

The “Reference” folder

One of the new features of WSPBuilder, is the possiblility to add assemblies to the wsp package without getting them reflected upon. This means that there will not be created any safecontrols tags or permission policies for the assemblies. This will improve wsp build speed greatly for very large assemblies. So when you have some 3rd party assemblies that you would like to include into your wsp package, just add the 3rd party assemblies to a “Reference” folder under the GAC folder or 80\bin folder.


Project folder

..\MyProject
....\12

....\GAC

......\Reference

........SomeVeryLarge.DLL

......MyOwnSmall.DLL

....\.


As showing in the folder structure above, the SomeVeryLarge.DLL is located under the Reference folder and will therefore be included into the wsp package (and manifest.xml) but not reflected upon. This will greatly reduce the time needed to build the wsp package. However if there are UI controls in the SomeVeryLarge.DLL that will be used, you are forced to add it directly under GAC or 80\bin so the SafeControls tags can be created and added to the web.config otherwise you will get a security error. The MyOwnSmall.DLL is located directly under the GAC folder and therefore is reflected upon as normal.


Warning: There will not be created any security policies for the DLL’s in the “80\bin\Reference” folder, so you will need to manually change the policy settings in the SharePoint configuration files to allow the reference assemblies to be used from the 80\bin folder. When using the “GAC\Reference” folder, the assembly will be deployed to the Global Assembly Cache and therefore automatically be fully trusted.


Recycle the Windows SharePoint Services Timer

A new function in the WSPBuilder Visual Studio context menu have been added. This will recycle the Windows SharePoint Services Timer. (OWSTimer service). This function is intented to be used when developing SPTimerJobs, so you quicly can redeploy to GAC and recycle the Timer service from Visual Studio when testing.


Manually modifing the Manifest.xml

I had some request about being able to modify the manifest.xml and DDF file before building the wsp package. But the idea of WSPBuilder is that this should not be necessary. You should be able to do everything you need by use of the folder structure and wspbuilder.config file. But maybe I have missed something, so I would to hear from you if you have any case where you need to modify the manifest.xml file. Please e-mail me on carsten@keutmann.dk


/keutmann

8 comments:

Shuo said...

Hi, Keutmann
I have created a web application with some webpages(aspx) and images, css in vs2008 using the web application template of vs. We should actually deploy this site in the intranet of moss 2007. The ways of deploiement required by the client is that we should use WSPBuilder to deploy the .wsp in the site. I have read many blogs of WSPBuilder concerned to the webpart or other control intergrated in sharepoint, but no about the web site application.

Could u give me some advice of that?

Carsten Keutmann said...

Normally you do not deploy a normal web application on the SharePoint platform and therefore there is not any easy way to do this in WSPBuilder.
However if I understand you correct, then you will need to create a SharePoint Feature that will provision all your aspx files on to a SharePoint site.
Look at this link on how to: Provision a File http://msdn.microsoft.com/en-us/library/ms441170.aspx

This way you can deploy your application by use of a WSP package.

Thomas said...

Hi there,
i was just wondering if anyone else experincing that a webpart insn't availble in the webpart gallery even after activating the feature??
I have to manually add it to the gallery?!?
I know it had worked before, but now even tho a have made a complete server reinstall. Wspbuilder wont add it for me automatically.

Anonymous said...

Hi Keutmann, I'm Srini here.
We are migrating SharePoint 2007 project to SharePoint 2010. We are using WSP builder for deploying. Somehow I build the project on VS 2010 successfully, also as you mentioned in the article, I changed the 12 hive folder to SharePointRoot. when I deploy the project, output window says 'Install and deploying Done'. But when I check in assembly folder couldn't find project assembly ?? Tried IIS reset also. But its not deployed assemblies.. What could be the problem.. ?? pl suggest.

Anonymous said...

Nice work! Adding third party DLLs worked great when I deployed AJAX and the AJAX Control Toolkit. I created a feature to do all the web.config changes and used the GAC\Reference folder to include the Control Toolkit DLL. Worked great even with multiple servers in the farm. That was a life saver!

Daniel said...

Hi,
I'd like to add a file to the webpart resource folder - wpresources. (i.e. add a ClassResource element to the solution manifest)

Can this be done with WSPBuilder Extensions 1.06 ?

Thanks
Daniel

Anonymous said...

This allows to reference assemblies (GAC asseblies) without webconfig entries which can avoid deployment issues.

Thank you
Sacchit

Yvonne said...

Hi Carsten, I have made a content type from Wsp builder 1.0.6. It works fine to install but I have a question:
The project consists of a feature folder with three xml-files and a folder images (icon for the feature)
But when I deploy I get two extra to GAC - cablib.dll and myprojectnamn.dll (no code exists).
My customer do not like extra files to GAC.
Can you explain this and give me recommendation.

Best regards, Yvonne from Sweden