A: 

As far as I know, the only way (without code) to share assemblies in ASP.NET is the GAC (or maintain a copy local to each site and make sure each is up to date) like you said.

It might be more trobule than it's worth, but is there any chance of writing a single assembly that COULD be loaded into the GAC on your web servers?

My thinking is that you could write a single assembly in the GAC that would, through conventional references or reflection, marshall your request for objects from the other shared assemblies on your shared drive.

That way you would have minimal maintenance headaches for the assemblies in the shared folder, and really only have to worry about keep the single assembly in the GAC up to date.

...writing the code for that assembly could always wind up being more trouble than it's worth though.

Justin Niessner
+2  A: 

Joel, would it not be possible to leverage the <codebase> element of the configuration file of your applications? AFAIK, it handles UNC shares, and if you're already putting new assembly versions in named folders, it seems like the appropriate config files could be updated with a new <codebase> element when a new version is rolled out, maybe through the use of a subversion hook script.

One hitch would be if you made an update without changing the version number, since the machines would have already downloaded a copy and would likely be unaware of the change.

womp