2014-12-02 40 views
5

MSDN article指出X509Store類在.NET 4.5中實現了IDisposable。在早期版本的.NET中,情況並非如此。據稱,在.NET 4.5中實現IDisposable的X509Store在哪裏?

即使我有Windows 8.1時,Visual Studio 2013,安裝了所有的.NET版本,從2.0到4.5.1,我只能看到X509Store,看起來像在最新System.dll中(V4 .NET 4的版本。 0.30319,又名.NET 4.5)。 VS Object Browser還顯示X509StoreSystem.dll v4.0.30319沒有實現IDisposable就像MSDN文章所說的那樣。

我錯過了什麼,如何從.NET 4.5中獲得X509Store? MSDN是否錯誤?這不會是第一次,但仍然是。是否有一個模糊的Windows Update KB修復程序?

回答

3

乍看之下,它看起來像是MSDN說的一半道理:微軟只在4.6版本中增加了IDisposable接口,X509Store類,而不是更早。您可以通過使用4.5.2和4.6版本之間真正有用的差異列表來輕鬆檢查它:NET 4.5.2 vs 4.6 - System.Security.Cryptography.X509Certificates namespace

但在當前時刻the MSDN article有以下一句「備註」部分中:

對於面向.NET Framework 4.5.2及更早版本, 的的X509Store類沒有實現的應用程序IDisposable接口和 因此沒有Dispose方法。

+0

非常感謝RTFM。所以在4.5.6之前。目標的Close()必須被明確調用? – Serjx86 2015-10-20 18:55:10

+0

@takiysobi,確切地說,我檢查了4.6版本的源代碼,[Dispose()方法只包含'Close()'方法調用](http://referencesource.microsoft.com/#System/security/system /security/cryptography/x509/x509store.cs,1f06ba85baf228c9,references)。 – 2015-10-20 20:25:27