title: dotnet publish results include different set of libraries when run in linux/windows
body: <p>While configuring some of our gitlab runners - some Windows, others Linux - I noticed something I find curious. The artifacts created by Linux runners include some libraries that are not included in the artifacts created by Windows runners.
  The files in question are:</p>
  
  <ul>
  <li>System.Collections.Immutable.dll</li>
  <li>System.ComponentModel.Annotations.dll</li>
  <li>System.Diagnostics.DiagnosticSource.dll</li>
  </ul>
  
  <p>This happens no matter if a target runtime has been specified or not, e.g.</p>
  
  <pre><code>dotnet publish ./Project/Project.csproj -c Release 
  </code></pre>
  
  <p>will include the three files mentioned above when run under Linux, but not when run under Windows (SDK 3.1.300). The project runs just fine without these.</p>
  
  <p>Can anyone explain what's happening here? I was under the impression the result of a dotnet publish command is always the same regardless of the OS.</p>