B
Brandon
We have a group of applications and utilities that use some common assemblies
that we have put together. Currenlty, we deploy these common assemblies to
the directory that each application/utility is in.
We are curring going through another round of trying to optimize memory
utilization. My understanding is that shared assemblies get loaded once, and
shared to all who access them - but I'm guessing that the fact that we have a
copy of the dll in each folder negates this benefit of sharing assemblies,
and that we have multiple copies of the same assembly loaded when all of the
apps/utilitys are running at the same time. Is this true? If so...
I am looking to improve this situation. From what I have read about using
GAC, I think it's more than we really want to mess with. We don't care to
have multiple versions of the same dll installed - when we update one of
these assemblies, we generally deploy a copy of it to each directory where it
is in use We also don't care to have to deal with cleaning up the old
versions to keep from wasting on-device storage.
Are there any other options? What if we establish a directory where we
manage all common assemblies, and then all of our apps/utilities just have to
know to load them at that specific location - is this what Assembly.Load() is
for? Will this accomplish the goal of saving memory? Any gotchas?
that we have put together. Currenlty, we deploy these common assemblies to
the directory that each application/utility is in.
We are curring going through another round of trying to optimize memory
utilization. My understanding is that shared assemblies get loaded once, and
shared to all who access them - but I'm guessing that the fact that we have a
copy of the dll in each folder negates this benefit of sharing assemblies,
and that we have multiple copies of the same assembly loaded when all of the
apps/utilitys are running at the same time. Is this true? If so...
I am looking to improve this situation. From what I have read about using
GAC, I think it's more than we really want to mess with. We don't care to
have multiple versions of the same dll installed - when we update one of
these assemblies, we generally deploy a copy of it to each directory where it
is in use We also don't care to have to deal with cleaning up the old
versions to keep from wasting on-device storage.
Are there any other options? What if we establish a directory where we
manage all common assemblies, and then all of our apps/utilities just have to
know to load them at that specific location - is this what Assembly.Load() is
for? Will this accomplish the goal of saving memory? Any gotchas?