views:

60

answers:

4

Hi All,

I'm a small developer that has never worked a major project before, & 99% of the asp.net solutions I've created are run off IIS on someone's desktop computer in a small office environment (yeah, yeah, I know).

Here's what's confusing me. When I develop a solution in VWD Express (2008 & 2010), I do so on my laptop and then copy/paste the files (literally) into the wwwroot folder on the computer that has been designated as the "web server" by a small office manager. When I'm finished, I setup IIS, point it to wwwroot, add the computer (server) name to everyone's intranet exception list, do some testing, and bam, I'm done.

So at what point does "deployment" come in? Does my copying/pasting constitute "deployment"? While researching, I see the word "compiling" a lot. Does that have something to do with it?

If I'm being too vague, please let me know. I'm dabbling in my own "unknown" here. Looking forward to your guidance. Thank you! ~dan

+3  A: 

The definition of deployment changes depending on several factors. Including which version of studio you are using and whether you are building web sites or web applications.

In it's purest form, it is the act of copying those files to the location where it will be run.

Deploying web sites is usually just copying the files. Deploying web applications usually involves compiling all of the code behind into assemblies, and copying the aspx pages and assemblies (no actual code).

However, you can build deployment scripts that go further and include things like setting up IIS, running tests, gac'ing assemblines, etc. Also scripts might include not just publishing the current site/app, but if you have dependency sites, like web services, it might include pushing those at the same time.

Chris Lively
A: 

.NET uses bytecode (go wiki Common Language Runtime). If you upload .aspx files these will be monitored by IIS and recompiled into fresh bytecode each time you change them. It's probably a better idea only to deploy "compiled" bytecode versions, since you'll then only have one version of your source outside of source control, and if anyone tries to find some security holes it'll be a lot harder for them.

Emyr
+1  A: 

In my world, deployment usually means migrating the code from one environment to another. This means compiling DLLs for custom code that was written to be used with the website,e.g. there may Domain Objects or other class libraries that some of the code behind in the site uses, as well as configuring various files so that the proper database is used, hostnames may be set in a web.config and other things that are handled by various scripts. For example, going from a development to test environment or from a UAT to production environment are deployment examples.

Web Deployment Projects may be something else for you to learn more about as it is another use of the term deployment.

JB King
AWESOME LINK! Thank you very much!
ajax81
You're welcome.
JB King
+1  A: 

Software deployment is all of the activities that make a software system available for use.

Deployment asp.net website means build the website, precompile it and upload the precompiled files to the server, also deployment process will include configuring the IIS, and DB connection if exist.

But also just copying the files to the server without precompile them will work.

ASP.NET Deployment From MSDN

Amr ElGarhy
Thanks for the info. The link is great, too. Thank you!
ajax81