Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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.

share|improve this question
    
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 –  Sypress Dec 28 '11 at 18:09

1 Answer 1

up vote 1 down vote accepted

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.

share|improve this answer
    
[Using Visual Studio] –  Sypress Dec 29 '11 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 –  Sypress Dec 29 '11 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 ! –  Sypress Dec 29 '11 at 7:33
    
There is no reason absolute paths don't work with web application projects. –  John Saunders Dec 29 '11 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. –  Sypress Dec 30 '11 at 5:17

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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