title: .NET - why do assembly contents change with the same code?
body: <p>I have a solution with multiple layers of project dependencies, and at the lowest level there are some utility libraries. I frequently change them because I need to make minor corrections to the implementation without affecting the signature of any of the exposed objects (e.g. bug fixes).</p>
  
  <p>When I build the solution after making those changes, the contents of all the DLL files that reference these utility libraries change downstream. For example, library A needs a bug fix without any signature changes. Library B references A, and library C references B. After build, both B and C are modified. </p>
  
  <p>I find that illogical. Why would dependent libraries change due to an upstream dependency's internal code change?</p>