What are the best practices and strategy for designing and developing a website?

The key parts I want considered are:

  • DLL deployment
  • IIS publishing
  • project versioning
  • namespace

Please answer these questions with recommended steps you take for your own web sites.

A sample walk-trough** (Please correct it with yours.)

  1. You make a web Application
  2. You make an IIS version of it
  3. Copy the same to the IIS Web Folder
  4. Copy the exact "Web Application" DLL into the IIS version folder ( or Will you build the wesite DLL here with csc or choose another method )
  5. Add each project separately to the repository

  6. Will anyway having both cause any conflicts (web application and website)?

  7. Do you make separated projects?
  8. How do you ensure that build of website assembly is always updated?
  9. How will you go for versioning of these and sync them?
  10. Moving the website DLL from the web application couldn't be a good idea How do you deal with that?


  1. The most important part of this question for me is the number of projects/solutions you make for a website project.
    I guess that probably they are 1 or 2 solutions, and as a professional developer, you will make them subversioned.

  2. Do you change the namespaces, or assemblies? Will each of them have separated core assemblies? Will you share? If you share, how will you deal with that?
    I think conflicts will occur.

  3. Do you use a project as a container of the other one? How will subversioning be?

What I use

VisualSVN is my subversioning choice.
I had 2 projects similar to the formula above; I made a web project with pages, and after that I made a clone of it in the IIS. I fixed some addresses and paths issues and copied also the DLL inside the IIS-Version of the site, but I really do not know this way as a completely practical method because of the conflicts I mentioned.

  • This is not just a simple question for me , I want to change the built method of my project based on a professional-mind structure, please help me with this, thanks
    – Kasrak
    Dec 28, 2011 at 18:09

1 Answer 1


From the perspective of this professional developer, the best practice is to not use web site "projects" at all. They are weird from the start, different in every way from every other project type in Visual Studio in that they don't have a project file.

I think this makes the entire versioning question much simpler. Source control and CI systems are designed to handle projects. Use a project, and you're doing what's expected. Use a web site "project", and you're swimming against the tide.

  • [Using Visual Studio]
    – Kasrak
    Dec 29, 2011 at 7:25
  • So you mean that omit "web site" projects and go for "web application" projects ? I used to this method as you said. If so I am having really problem dealing with some HTML5 components addressings in the project ,e.g Video. they mostly recommend in their documentations to use absolute paths , also in reality some features won't work. How will you overcome this issue
    – Kasrak
    Dec 29, 2011 at 7:30
  • Also I voted up your answer but it won't take effect cause in SE I do not have 15 reputations yet !
    – Kasrak
    Dec 29, 2011 at 7:33
  • There is no reason absolute paths don't work with web application projects. Dec 29, 2011 at 10:10
  • Thanks a lot, You helped me so much, I got the key, From the past I used to place projects in one folder and websites in the IIS root, I forgot the fact that If I place the web project inside IIS I could access it with absolute paths, or even I could place just the media files for testing purposes.
    – Kasrak
    Dec 30, 2011 at 5:17

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.