M
Mark Olbert
I've been following what I >>thought<< was good practice and strong-naming my assemblies, even the ones that aren't targeted for
installation into the global assembly cache. I'm beginning to think, though, that this is a mistake.
The problem comes about when the assemblies used by an application are updated and distributed separately from the application
itself. In my case this happens because I don't want to force users to download the core application when the "only" thing I've
changed is a supporting assembly.
Unfortunately, the application's manifest expects a particular version of a strong-named assembly, and when it doesn't find that
particular version -- because, say, the user has downloaded a more recent version which doesn't change the interface but does fix a
bug -- it throws an exception.
I understand that this can be resolved through the app.config file, but that introduces another chance for error, and, besides, it
can get kind of cumbersome if there are a lot of assemblies that need to be redirected.
What would be nice is some way of saying "Dear application: I know these are strong-named assemblies, but I want you to use whatever
version you find in the application executable's directory". Is it possible to do that through some app.config setting? Or by using
some other approach?
- Mark
installation into the global assembly cache. I'm beginning to think, though, that this is a mistake.
The problem comes about when the assemblies used by an application are updated and distributed separately from the application
itself. In my case this happens because I don't want to force users to download the core application when the "only" thing I've
changed is a supporting assembly.
Unfortunately, the application's manifest expects a particular version of a strong-named assembly, and when it doesn't find that
particular version -- because, say, the user has downloaded a more recent version which doesn't change the interface but does fix a
bug -- it throws an exception.
I understand that this can be resolved through the app.config file, but that introduces another chance for error, and, besides, it
can get kind of cumbersome if there are a lot of assemblies that need to be redirected.
What would be nice is some way of saying "Dear application: I know these are strong-named assemblies, but I want you to use whatever
version you find in the application executable's directory". Is it possible to do that through some app.config setting? Or by using
some other approach?
- Mark