Many of the locally referenced NuGet packages, even though not directly required by the GSF.Web project code, are managed as dependencies on behalf of downstream applications that reference GSF.Web in order to support a self-hosted web server. Having these packages referenced here helps to reduce the locally required NuGet references in the GSF.Web dependent downstream applications and simplifies version updates. Updates to NuGet references here will flow down to all dependent applications during the nightly build process. As a result, do not trust dependency walkers that may tell you that a certain reference is not required as it may likely be required by a downstream application in order to properly self-host a web site. Also, be mindful that adding or updating NuGet packages may auto-add an app.config to the GSF.Web project as well as any local projects that may depend on GSF.Web, e.g., ModbusAdapters. Make sure these app.config files do not get checked-in as they are typically not needed. However, the updated content in the app.config is usually assembly binding updates that may be useful since multiple NuGet packages could reference different versions of the same DLL. The assembly binding information needs to be migrated into the local "GSF.Web.AssemblyBindings.xml" found in the project root of the GSF.Web project. This file is an embedded resource that is used by downstream applications to auto-update their local app.config files where the assembly binding information is critical. Since GSF.Web does not directly depend on many of the assemblies referenced, the auto-updates to app.config may not be complete so manual updates and validation of each the referenced assembly versions in the AssemblyBindings.xml could be required - the best way to know it simply to run a downstream application with the updates and only add needed entries.