Our SharePoint solution has recently been upgraded to SharePoint 2010, and we are taking a look at how we package and deploy the site to see if there are better ways to do things.

We currently package all files needed for our site (dll's, images, svc files, xap files, js files, css files, masterpages, html files, aspx files) and deploy them to 14/template/features/OurFeature/

I've been doing a lot of reading about SharePoint Developer Tools in Microsoft Visual Studio 2010, and I would like to use this to package/deploy our solution. It seems Visual Studio allows for mapped folders to SharePoint's images and layouts directories, and also allows other mapped folders. I'm wondering if there are standard locations for any of the other file types that I have mentioned above, or is our current method of storing things in the template/features folder a good idea? We currently map things to this folder in IIS, so ~/images/ points to our site's images and so forth.

Can someone point me to best practices for SharePoint site file organization? Are there benefits to doing things one way versus another? Is there any reason that we should change our current deployment strategy?

1 Answer 1


You should always deploy using Solution Packages (WSPs). If you have multiple servers it will help with deployment and retraction.

In terms of mapped folders I like to put things in purpose-built locations


  • images/mysolution/img.jpg
  • controltemplates/mysolution/mycontrol.ascx

This allows you to set policies within IIS and have them apply to your deployed file types.

Just copying files into features/myfeature does work, but I wouldn't do it. Besides, creating a WSP is so much easier over the course of a development project.

I also wouldn't be deploying dlls into the features folder. It sounds like you're making this folder visible through IIS? Scary.

  • I wasn't completely clear above. We are currently using WSPs, and we put our dll's in the site's bin folder.
    – coder1
    Jan 31, 2011 at 13:09
  • Good to hear re: bin & WSPs. I like putting files in folders aligned with their purpose as it allows your system administrators to be very specific with regards to security. So (dlls >> BIN), (images >> IMAGES mapped folder), (CSS >> STYLES), (All other files>> Layouts/OurFeature). That's my preference, but you can put images & css files into Layouts/OurFeature. Jan 31, 2011 at 18:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.