4

我试图使用 Dispose 的方法,XmlReader但它似乎不可用。在互联网上环顾四周后,我发现在 .Net 2.0 中该IDisposable.Dispose方法已明确实现,但在 .Net 4.0 中已“更正”。确实,当我使用 .Net Reflector 检查该方法时,它被公开了。

但是,尽管我的项目使用 .Net 4.0 作为目标框架,但如果不将 XmlReader 显式转换为 IDisposable,我仍然无法调用 Dispose 方法。

然后我注意到C:\Windows\Microsoft.net\Framework\v4.0.30319\System.Xml.dll当我的项目用作C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Xml.dll参考时,.Net Reflector 被反编译。我对后者进行了反编译,实际上,该Dispose方法仍然在该方法中显式实现。

为什么同一个版本的框架有两个不同版本的同一个dll?

我的 Visual Studio 2010 可以配置为使用C:\Windows\Microsoft.net\Framework\v4.0.30319\而不是C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0在引用框架时使用吗?

PS 我还没有安装 .Net 4.5 框架。

4

0 回答 0