Assign a Strong Name to a Third Party Dll

27 02 2009

So here is the scenario – you get a .net dll from somewhere that contains some cool functionality you wish to use in your SharePoint application. The probem is that you cant sign your own application dll because the referenced third party dll is not signed or strongly named.

When you go to build your VS project you will get the following error – ‘Referenced assembly doesn’t have strong name’

So how can I sign/strongly name the dll I hear you ask? Well here’s how:

1.Open the Visual Studio Command Prompt – probably best to copy the dll in into the VC folder to save you having to cd or type a long path in

2.Create a key pair to sign the assembly – sn.exe –k key.snk

3.Disassemble the dll using ILDASM – ILDASM.exe Yourdll.dll /

This will create a ‘’ file containing the IL for the assembly. It will also extract the assembly so you will now have a folder with lots of files, you will also see a .res file containing the resources for the dll.

4.Reassemble the dll using ILASM to sign the output with the key created above – ILASM.exe /dll /out=Yourdll2.dll /key=key.snk


You should now have a signed version of the dll, you can now add this to your VS project or deploy to the GAC etc :-)!

Core.Css and Application.Master

26 02 2009

I’ve been working on a custom aspx page with separate stylesheet which I have added into a MOSS environment and inherited from the Application.master. I was stuck for a while trying to get the Css on my custom page to work, here’s some tips for you all below:

1.If you are want to inherit from the Application.master then be aware, it only calls one Css file – CORE.CSS. This file can be found in the 12 Hive\TEMPLATE\LAYOUTS\1033\STYLES. I put my custom Css within the CORE. **Be Careful though – make sure your Css class names are unique**.

2.Put custom pages in the layouts folder of the 12 Hive, this means you can access them from any MOSS site on the server if required. You can also use the object model code in these pages if you need.

3.I have put custom images that my pages are using within the 12 Hive\IMAGES folder. This makes them easy to access/display from the custom pages and Css. When seen as a url, it looks like this – http://mossserver:1000/_layouts/images/yourimage.gif.


WSS Workflow Tutorial Part 2 – Its Coming!

24 02 2009

Just wanted to mention that I haven’t forgotten about Part 2 of this tutorial, I have been very busy as of late so didn’t have time to put together the next part.

I am currently working on it in my spare time so expect it by the end of the week! 🙂


12 02 2009

hdr_logo I thought I would do a brief write up of Team Direction’s IntelliGantt product. We have been evaluating it for a while now and are impressed with the functionality.

IntelliGantt allows you to create complex project plans/gantt charts and upload these to your SharePoint/WSS Site. It will create the tasks associated with the project within SharePoint and assign the users. The project plan is visible from within the SharePoint site saving a fortune on MS Project Licenses!

Changes made in the SharePoint site and Visa-Versa will be reflected in the IntelliGantt software when the project is next syncronised. This way you could have one ‘Project Owner’ who creates the project plan and the project engineers will simply use the SharePoint site.

It works with both full MOSS and WSS and is really easy to use. They are currently offering a few different versions of the product – IntelliGantt Plus V3, IntelliGantt Beta V4 and an IntelliGantt add-in for MS Project.

Have a look at their website for more details –


Changes to a DLL in the GAC..IISRESET!

9 02 2009

Hi Readers,

I’m sure you all already know this, but it caught me out today and I should have known better. Also I realised I haven’t blogged for a while, mainly because I am working on application page for MOSS containing mainly standard .NET code that is not really SharePoint related.

When you make some changes to a DLL in the GAC, e.g.a workflow or an application page. You must do an IISRESET after you copy the new/replacement dll into the Global Assembly Cache. Failure to do this will mean the code continues to use the old dll.


MOSS Stencils for Visio – Updated

5 02 2009

Hi Readers,

Whilst creating a Visio document this morning and using the WSS Visio Stencils, I noticed a few key stencils that were missing and could be quite useful. I’ve created these extra stencils and uploaded them into a new MOSS Stencils pack.

The two extra stencils are:


You can download the revised pack of stencils from my Skydrive:

MOSS Visio Stencils – Extra

Have fun!

WSPBuilder – Correct Syntax

2 02 2009

I’ve been pulling my hair out for the last few hours with the command line syntax of WSPBuilder. It is quite picky with the syntax that you use and if not correct it will produce an empty .wsp file (only contains a Manifest.xml).

When creating the WSP, make sure you have folder structure like this:

Top Level Folder

(Subfolder) 12 – Subfolders for the 12 Hive

(Subfolder) GAC – Place in this folder any dll’s you wish to add to the GAC

Then run WSPBuilder from the command line using the following Syntax:

WSPBuilder.exe”  -ProjectPath “Top Level Folder Path Here” -OutputPath “Place to store the created wsp e.g.C:\WSP”
-SolutionPath “Same as outputpath”

Hope this helps some people 🙂

SPDisposeCheck tool has been released!

2 02 2009

This is a tool I have been looking forward to for some time, SPDisposeCheck will check your assemblies that use the SharePoint API enabling you to build better and more efficient code. It gives guidance and assistance on how to correctly dispose SharePoint objects.

The download is available from the following link:

It can be run from the command line using the following syntax:

SPDisposeCheck <path to assemblies> -debug –xml <file>

Have fun!