title: Guid.NewGuid(); behind the scenes in .NET Core
body: <p>Researching the subject yesterday, I found several interesting questions (such as <a href="https://stackoverflow.com/questions/35366368/does-uuidcreate-use-a-csprng">this one</a>) on how GUIDs are ultimately generated. In brief; it seems that <code>Guid.NewGuid();</code> calls <code>CoCreateGuid</code> in the COM, which in turn calls <code>UuidCreate</code> in the Windows RPC (docs <a href="https://msdn.microsoft.com/en-us/library/ms688568(VS.85).aspx" rel="noreferrer">here</a> and <a href="https://msdn.microsoft.com/en-us/library/aa379205(v=vs.85).aspx" rel="noreferrer">here</a>).</p>
  
  <p>I found myself wondering; How does this work when the OS is <em>not</em> Windows, such as might be the case with .NET Core, and does this affect the <a href="https://en.wikipedia.org/wiki/Universally_unique_identifier#Versions" rel="noreferrer">'version' algorithm</a> used to generate the GUID (which I understand is Version 4 on Windows)?</p>