2014-12-02 18 views
5

Questo MSDN article indica che X509Store implementa la classe IDisposable in .NET 4.5. Questo non era il caso nelle precedenti versioni di .NET.Dove si trova X509Store che, presumibilmente, implementa IDisposable in .NET 4.5?

Anche se ho di Windows 8.1, Visual Studio 2013, tutte le versioni .Net installato, da 2.0 a 4.5.1, posso solo vedere X509Store che si presenta come la versione di .NET 4 in ultima System.dll (v4. 0.30319, alias .NET 4.5). VS Object Browser mostra anche che X509Store in System.dll v4.0.30319 non implementa IDisposable come dice l'articolo MSDN.

Cosa mi manca e come ottengo X509Store da .NET 4.5? MSDN è sbagliato? Non sarebbe la prima volta, ma ancora. C'è una correzione di Windows Update per Windows?

risposta

3

A prima vista, sembra che MSDN dica la metà verità: Microsoft ha aggiunto l'interfaccia IDisposable alla classe X509Store solo nella versione 4.6, non prima. Puoi facilmente controllarlo usando questa lista di differenze veramente utile tra le versioni 4.5.2 e 4.6: NET 4.5.2 vs 4.6 - System.Security.Cryptography.X509Certificates namespace.

Ma al momento attuale the MSDN article ha la seguente frase nella sezione "Osservazioni":

Per le applicazioni destinati a .NET Framework 4.5.2 e versioni precedenti, classe X509Store non implementa il L'interfaccia IDisposable e pertanto non ha un metodo Dispose.

+0

Molto obbligato per RTFM. Quindi per pre-4.5.6. gli obiettivi che il Close() deve essere chiamato esplicitamente? – Serjx86

+0

@takiysobi, esattamente, ho controllato i sorgenti della versione 4.6 e [il metodo 'Dispose()' contiene solo la chiamata al metodo 'Close()'] (http://referencesource.microsoft.com/#System/security/system /security/cryptography/x509/x509store.cs,1f06ba85baf228c9,references). –