我可以添加对System.Core.dll(.net3.5)的引用到.net2.0应用程序并使用它我可以将System.Core.dll(.net3.5)的引用添加到.net2.0应用程序并使用它我试图通过引用System.Core.dll仅在.net3.5中使用可用的TimeZoneInfo类或者,它们是.net2.0(或自定义类)中TimeZoneInfo的替代品吗?不,你真的不应该。您必须在目标计算机上安装3.5,否则您将在运行程序时遇到不可预知的行为。包括System.Core.dll在内的3.5框架取决于添加到CLR2.0SP1(它是3.5框架的一部分)的几个错误修复/功能。如果您针对未打补丁的CLR运行,您实际上将运行未经测试的代码,并且可能会遇到几个错误。ScottHanselman写了一篇博文,描述了如何在2.0框架上运行早期版本的MVC。他指出,只要您非常小心,不要调用任何依赖于3.0+特定CLR功能(例如,LINQtoSQL)的例程,那么对System.Core的依赖可能没问题。他在博客文章中正确地声明了它不受支持,并且它可能对您不起作用,但他让它起作用了,如果起作用,它就是为您量身定制的。我不确定您是否可以使用System.Core.dll执行此操作,但我们之前已经使用用于.net2.0应用程序的Linq2Sqldll执行此操作。.net3.5使用相同版本的CLR和构建在.net2.0运行时之上的新程序集。如果您可以获得所有依赖项,它可能会起作用。正如我所说,这适用于我们使用Linq2Sqldll,但不能保证适用于所有情况。(例如,您可能无法在Windows2000上运行WPF,但您可以让Linq对象工作).net3.5在.net2.0运行时上运行。所以你应该能够使用它......但是引用一个dll会导致意外行为,因为你不知道system.core.dll具有所有依赖关系......我建议不要这样做......你可以做这和目前对工作工具Things做同样的事情-还有使用TimeZoneInfo的事情。只要这些是您使用的那些,您就不应该遇到任何问题(至少我没有)。但是,我不完全确定将System.Core与您的应用程序捆绑在一起的合法性。据我所知,你是不允许的。我最终使用了使用其工具的Mono中的那个。以上是C#学习教程:我可以把System.Core.dll(.net3.5)的引用添加到.net2.0的应用中,把它分享的全部内容都用上,如果对大家有用还需要详细了解C#学习教程,希望大家多多关注—本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
