title: Could not load type 'System.Security.Cryptography.SHA512CryptoServiceProvider' from assembly Version=2.4.0.0, Culture=neutral
body: <p>I load Cryptography Providers dynamically using this code</p>
  
  <pre><code>string hashAlgoTypeString =
           ConfigurationManager.AppSettings[HashAlgorithmProviderConfiguration];
  if (hashAlgoTypeString != null)
  {
      Type hashAlgoType = Type.GetType(hashAlgoTypeString, true);
      return (HashAlgorithm) Activator.CreateInstance(hashAlgoType);
  }
  </code></pre>
  
  <p>The hashAlgoTypeString is a full qualified name to one of <em>CryptoServiceProviders</em> set in my <em>Web.config</em></p>
  
  <p>I don't have any problems loading these</p>
  
  <pre><code>System.Security.Cryptography.DESCryptoServiceProvider
  System.Security.Cryptography.DSACryptoServiceProvider
  System.Security.Cryptography.MD5CryptoServiceProvider
  System.Security.Cryptography.RC2CryptoServiceProvider
  System.Security.Cryptography.RNGCryptoServiceProvider
  System.Security.Cryptography.RSACryptoServiceProvider
  System.Security.Cryptography.SHA1CryptoServiceProvider
  System.Security.Cryptography.TripleDESCryptoServiceProvider
  </code></pre>
  
  <p>However, the following CryptoServiceProviders all throw the "<em>Could not load type</em>" exception.</p>
  
  <pre><code>System.Security.Cryptography.AesCryptoServiceProvider
  System.Security.Cryptography.SHA256CryptoServiceProvider
  System.Security.Cryptography.SHA384CryptoServiceProvider
  System.Security.Cryptography.SHA512CryptoServiceProvider
  </code></pre>
  
  <p>What could be the issue with these four providers?</p>
  
  <p>I'm running Windows 7 x64 with .NET 4.5.2</p>
  
  <p>In GAC </p>
  
  <pre><code>System.Security v2.0.0.0
  mscorlib v2.0.0.0 for x86 and AMD64
  </code></pre>
  
  <p><strong>Edit</strong></p>
  
  <p>I am able to instantiate all four</p>
  
  <pre><code>        var Aes = new System.Security.Cryptography.AesCryptoServiceProvider();
          var sha256 = new System.Security.Cryptography.SHA256CryptoServiceProvider();
          var sha384 = new System.Security.Cryptography.SHA384CryptoServiceProvider();
          var sha512 = new System.Security.Cryptography.SHA512CryptoServiceProvider();
  </code></pre>
  
  <p>and use them from my code without issues. </p>