2014-12-02 4 views
5

Diese MSDN article besagt, dass X509Store Klasse implementiert IDisposable in .NET 4.5. Dies war in früheren Versionen von .NET nicht der Fall.Wo ist der X509Store, der IDisposable in .NET 4.5 angeblich implementiert?

Obwohl ich habe Windows 8.1, Visual Studio 2013, alle .NET-Versionen installiert ist, von 2,0 bis 4.5.1, kann ich sehen, X509Store nur in neuesten System.dll (v4 wie .NET-4-Version aussieht. 0.30319, alias .NET 4.5). VS Object Browser zeigt auch, dass X509Store in System.dll v4.0.30319 implementiert IDisposable nicht wie MSDN Artikel sagt, es sollte.

Was vermisse ich und wie bekomme ich X509Store von .NET 4.5? Ist MSDN falsch? Es wäre nicht das erste Mal, aber trotzdem. Gibt es eine obskure KB-Korrektur für Windows Update?

Antwort

3

Auf den ersten Blick sieht es so aus MSDN sagt die halbe Wahrheit: Microsoft IDisposable Schnittstelle zur X509Store Klasse nur in Version 4.6, nicht früher hinzugefügt. Sie können es leicht überprüfen, indem Sie diese wirklich nützliche Diff-Liste zwischen 4.5.2 und 4.6 Versionen verwenden: NET 4.5.2 vs 4.6 - System.Security.Cryptography.X509Certificates namespace.

Aber zum gegenwärtigen Zeitpunkt the MSDN article hat den folgenden Satz im Abschnitt „Hinweise“:

Für Anwendungen, die .NET Framework 4.5.2 und frühere Versionen zielen, die X509Store Klasse nicht implementiert die IDisposable interface und hat daher keine Dispose-Methode.

+0

Viel verpflichtet für RTFM. Also für vor 4.5.6. Soll das Close() explizit aufgerufen werden? – Serjx86

+0

@Takiysobi, genau, habe ich Quellen der 4.6 Version überprüft und [die 'Dispose()' Methode enthält nur den 'Close()' Methodenaufruf] (http://referencesource.microsoft.com/#System/security/system /security/cryptography/x509/x509store.cs,1f06ba85baf228c9,references). –

Verwandte Themen