使用.NET 2.0运行时定位.NET Framework 3.5. 注意事项?
我正在开发针对.NET 3.5框架的应用程序。应用程序的安装程序将.NET 2.0运行时安装在目标计算机上。到目前为止,我在执行此操作时没有任何问题,但是我想知道我会遇到什么问题。我需要安装3.5运行时吗?
我必须将.NET运行时安装程序打包到我们的安装中(不进行网络安装)。问题是运行时安装程序的大小。 .NET 2.0运行时安装程序为23MB(可管理),. NET 3.0运行时安装程序为50MB(变大),. NET 3.5运行时安装程序为200MB(很赞!)。这些额外的170MB到底有什么用?
解决方案
这是一个很难回答的问题,因为最终它取决于我们所使用的.NET 3.5功能。如果我们正在使用某些新库,例如LINQ,则可以,我们需要安装3.5运行时。但是,如果我们仅使用3.5中引入的一些新的合成糖,则可能不会。这是因为.NET 3.5与2.0 CLR 100%兼容。
如果它是不使用asp.net等的客户端应用程序,则可以使用.Net客户端配置文件安装,该安装程序的大小要小得多(约26MB),其详细信息位于:
http://blogs.msdn.com/bclteam/archive/2008/05/21/net-framework-client-profile-justin-van-patten.aspx
http://www.hanselman.com/blog/SmallestDotNetOnTheSizeOfTheNETFramework.aspx
如果要引用3.5特定的库,例如System.Core或者System.Xml.Linq,则需要交付3.5.
数据集的生成代码部分在3.5 SP1和3.5(无sp)之间存在差异,这与序列化有关。
如果将安装升级到3.5SP1,即使在核心功能上,也可能会遇到麻烦。
.NET 3.5与.NET 2.0并非文学上100%兼容,而是与.NET 2.0 SP1兼容。
但是我不知道这是否会给我们带来任何问题。据说.NET 2.0 SP1更新是为了使扩展方法和自动属性可用(不记得具体信息)而进行的。
Scott Hanselman在这方面有一篇不错的博客文章。
至于.NET 3.5可部署文件的大小,它是一个大文件中用于x86,x64和其他64位体系结构的.NET 2.0、3.0和3.5.