Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Class Libraries, best practices

Status
Not open for further replies.

tgreer

Programmer
Oct 4, 2002
1,781
US
I've always been a "lone wolf" programmer. Now I'm coding class libraries for a large company. These libraries will be used in lots of other applications (goes without saying, doesn' it)?

My question is, if a particular class library ends up being used in 16 different applications, and I update the class library, perhaps adding some new properties and/or methods, is there any way of "automatically" updating those 16 applications?

I'm looking for best practices for managing class libraries and applications. How can we ensure that all applications are using the latest versions of a class library? How can we know which applications USE a particular class library?



Thomas D. Greer
 
Does your company have some kind of LiveUpdate technology in their applications? If it does, that would be the best way to update the libraries. Just make sure the interfaces don't change from one version to the next, otherwise you'll break every application that updates.
 
How are the "other applications" developed. Are they Winforms, Web, Web Service, ect... That will play a role. How are the others apps deployed?

You can gain some control through the app.config file. This artical is a start.

Sorry I couldn't help more, that is a hard question.
 
All Windows Form or Console applications, C#.

Yes, it's difficult. I develop the Class Libraries with an extra Console Project that acts as a test harness.

Then when testing is completed, I compile a version as a DLL without the console project, and "publish it". The other developers then add it as a reference to whatever project/app they're building.

I'm trying to construct a methodology that would track where all the class libraries are being used, and a methodology for rolling out updates.



Thomas D. Greer
 
The easiest way to implement LiveUpdate is to setup an FTP server where you put all your updated files for all your programs. Then create an index file which has a list of all programs and their version, and which updates are available for those programs (i.e. which files on the FTP server they need to get to update).

You might format the index file something like this:
Code:
[MS Visual Studio 8.02]
product=MS Visual Studio
version=8.02
date=2006-01-11
update=Visual_Studio/update-8.02.zip
prerequisite=8.01
[MS Visual Studio 8.01]
product=MS Visual Studio
version=8.01
date=2005-09-01
update=Visual_Studio/update-8.01.zip
prerequisite=8.0
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top