27 lines · 1.8 KB · Text
RawDownload
Many of the locally referenced NuGet packages, even though not directly requiredby the GSF.Web project code, are managed as dependencies on behalf of downstreamapplications that reference GSF.Web in order to support a self-hosted web server. Having these packages referenced here helps to reduce the locally required NuGetreferences in the GSF.Web dependent downstream applications and simplifies versionupdates. Updates to NuGet references here will flow down to all dependentapplications during the nightly build process. As a result, do not trust dependency walkers that may tell you that a certainreference is not required as it may likely be required by a downstream applicationin order to properly self-host a web site. Also, be mindful that adding or updating NuGet packages may auto-add an app.configto 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 asthey are typically not needed. However, the updated content in the app.config isusually assembly binding updates that may be useful since multiple NuGet packagescould reference different versions of the same DLL. The assembly binding informationneeds to be migrated into the local "GSF.Web.AssemblyBindings.xml" found in theproject root of the GSF.Web project. This file is an embedded resource that isused by downstream applications to auto-update their local app.config files wherethe assembly binding information is critical. Since GSF.Web does not directly dependon many of the assemblies referenced, the auto-updates to app.config may not becomplete so manual updates and validation of each the referenced assembly versionsin the AssemblyBindings.xml could be required - the best way to know it simply torun a downstream application with the updates and only add needed entries.

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t