0

I am am considering installing a dll assembly in the GAC and I don't have enough experience to know if this is the best practice for this scenario. Hopefully someone here can shed some light on me and get me pointed in the right direction.

The Scenario:

I have a library assembly that I have written. This DLL is designed to read some data from an output file of a third party software package. Once read the data is available for access to the caller of this DLL.

My company has developed four different windows form applications that use this library file to get data into the apps.

The 3rd party software manufacture has change the the way they write their output file, so I have modified my DLL to support the new features the third party is using.

Currently all the apps have been written using the dll as a private assembly.

The Update:

To update all of the applications would require a rebuild of all four apps referencing the updated dll file, then reinstall all four apps on every machine that may be running them.

If I were to change the dll to a GAC assembly, then all I would have to do is reinstall the updated dll in the GAC assemble on every machine that uses the DLL assembly.

The later option seems to be simpler, then the next time this happens, we just update the one dll in the GAC and away we go.

The Question

What is the best practice here? This link makes me think I should not be thinking about GAC When should I deploy my assemblies into the GAC?

And if GAC is the answer how do you go about deploying the strong named assembly so that is installed in the GAC from the setup file?

Any help is appreciated, Mike

Community
  • 1
  • 1
Mike Sportsman
  • 120
  • 2
  • 10
  • Putting the assembly in the GAC is not a workaround for having to rebuild those other apps. It is merely a way to get them all to crash. – Hans Passant Nov 02 '13 at 14:42
  • Thank you Hans, I am still doing research on what is the best way to handle this type of a problem. – Mike Sportsman Nov 06 '13 at 15:24
  • [link](http://msdn.microsoft.com/en-us/library/ms973843.aspx) – Mike Sportsman Nov 06 '13 at 16:01
  • [Simplifying Deployment and Solving Dll Hell with the .NET Framework](http://msdn.microsoft.com/en-us/library/ms973843.aspx) This article states that using the GAC is ideal for releasing bug fixes or security updates when you want every application that uses the assembly to receive the same update. You do have to maintain backward compatibility or maintain side by side versions. Also says that performance can also be improved. – Mike Sportsman Nov 06 '13 at 16:09

0 Answers0