Click to See Complete Forum and Search --> : Configuration and Deployment


slickkick
October 28th, 2008, 02:47 PM
I have begun to place reusable code from my ASP.NET web applications in libraries, and now face the challenge of loading assemblies and developing a structured enough manner to keep my code refereces accurage when making changes, and deploying to different systems (development, production) . Are there any resources out there that detail more complicated but common practices for developing and loading assemblies. It seems to get complicated when referencing a library that references another library. The build process is becoming a nightmare. It's a bit challenging to reference libraries from local folders when developing, but and from the GAC other times (when testing or in production). What topics should I research and does anyone have any helpful resources handy?

TheCPUWizard
October 28th, 2008, 03:04 PM
1) The usage of the GAC is only appropriate when the assemblies are going to be shared significantly, typically this is NOT true for application level assemblies.

2) Using file references rather than project references makes things alot easier.

3) With a proper test plan, you should only need production copies of all assemblies other than the one you are specifically working on.

What we do:

1) Add a conditional post build step to our "Production" builds which copies the results to the appropriate shared libary directory.

2) ONLY reference assemblies from this shared library directory.

3) Have a proper Setup project for deployment.

slickkick
October 29th, 2008, 09:24 AM
Thanks for your reply! The following article is also helpful.

Building Distributed Applications
Deploying .NET Framework-based Applications

http://msdn.microsoft.com/en-us/library/ms954585.aspx

slickkick
October 29th, 2008, 10:04 AM
This article was helpful as well

Some Assembly Required
A column about the new form of software component deployment in .NET.

http://www.macadamian.com/index.php?option=com_techarticle&task=view&id=19