Part 1 - Part 2 - Part 3 - Part 4 - Part 5 - Part 6 - Part 7 - Part 8
Adding extra assemblies to your Solution
Just had to post about this because it's been driving me crazy. I've got various Solutions now that have been built using STSDEV 1.3 in Visual Studio 2008. There are common classes I've been using and was scratching my head to get the dll to deploy with the solution and was hacking it by installing it directly into the GAC! Now I've worked it out and full credit to the STSDEV guys for this feature!
Basically, add the dll Reference to your Solution Project and then right click on this dll and ensure that the 'Copy Local' property is set to True – this will place it into the \bin\debug folder.
Then simply go to your Solution.xml file in the Deployment folder:
And simply copy the one instance of the <Assembly> element:
<Assembly Location="CPMining.Portal.Users.DocumentManagementSite.dll" DeploymentTarget="GlobalAssemblyCache">
<SafeControls>
<SafeControl Assembly="CPMining.Portal.Users.DocumentManagementSite, Version=1.0.0.0, Culture=neutral, PublicKeyToken=742400bf5d0071a5" Namespace="CPMining.Portal.Users.DocumentManagementSite" TypeName="*" Safe="True" />
</SafeControls>
</Assembly>
And then modify it to your dll you want to reference:
<Assembly Location="CPMining.Portal.Common.dll" DeploymentTarget="GlobalAssemblyCache">
<SafeControls>
<SafeControl Assembly="CPMining.Portal.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=742400bf5d0071a5" Namespace="CPMining.Portal.Common" TypeName="*" Safe="True" />
</SafeControls>
</Assembly>
When you build the project now and it generates your .ddf and .wsp you'll notice that it now picks up the new .dll! Awesome! Saved me lots of time with caching and encourages reuse of code among Solution Packages! This will also help you out in terms of deploying third party .dlls such as Telerik which we have started to deploy to farms and can now be down via Solution Packages!