GAC dependencies

R

Richard

Hi,

I'm in a situation where I have to deal with a huge number of dependencies
in the GAC. We have tons scehmas that all exists in their seperate dll. They
are then referenced by other assets that all exists in the GAC. This is
starting to get out of hand and we need an easy way of handling the
dependencies documentation between the different assets.

One idea is to have a application that reads the dll:s in the GAC and tells
us what assets are referencing on specific asset. For example: we update one
specific schema. We give this schema name to the application we like to
develop and this gives us a full list over the dll that reference this
asset. This would give us enough inforrmation on what assets to update.

Is there something like this out there? Is there a better approach? All
anseres ideas are highly appricated. I'm fairly new to this ...

Richard
 
P

Petar Repac

Hi Richard,

1) I suppose that by "asset" you mean assembly ?
2) Are those "schemes" possibly datasets ?

Each assembly in .NET has a version number that is usually defined in
the AssemblyInfo.cs file by the AssemblyVersion attribute.
Let's say this is your assembly A.

When an other assembly B reference assembly A in B's manifest are
embedded A's name and version (+ public key and culture I think).

Now, if you don't change A's name and version you can change classes in
A, but they must retain their class names, property names, method
signatures, etc. You can change method implementations, add methods, ...

When you install new A assembly in GAC, B assembly won't note any
difference.

So, maybe you don't need to take care of assemblies that are referencing
your assembly.

This is specially true if you build an library that will be used by many
developers.

Regards,
Petar Repac
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top