I'm currently developing a series of applications for our local company. In order to normalize things as much as possible, I've created a "core" library that will handle all of the commonly used functions (report creation, FTP, database execution, etc.) However, in order to create my core library, I have to reference a slew of other (3rd-party) libraries, such as Npgsql.dll
, Newtonsoft.Json.dll
, various CrystalDecisions
libraries, and others.
At present, for every new application I build, I'm copying ALL of the libraries - including my own core library - into individual executable folders on our network. This works for our environment because these applications are only ever intended to be used internally.
However, for the sake of simplicity, I'd like to have all of the 3rd-party libraries accessed from a central repository. I'm not as concerned about my core library, but with the number of 3rd-party libraries I'm using, it can get a bit confusing - especially if just one of those libraries is out of date in the specific application's executable folder.
Is there a "best practice" for this type of situation? I've glanced at some information regarding the GAC, but I'm not 100% sure how I would make it work in this scenario. Any advice or suggestions would be greatly appreciated.