日前,微软发布了一个列表,其中完整描述了从.NET Framework 3.5 SP1 迁移到.NET 4.0会出现的问题。该列表包含了六个方面的变化:核心、ASP.NET、 ADO.NET、WCF, WPF以及XML。
如果你是在同一台计算机上安装了.NET Framework 4.0,那么在.NET3.5下编译的.NET应用程序运行时不会有任何问题,因为这两个框架是并行安装,彼此不会产生影响。但是,如果你在.NET4.0下对应用程序重新进行了编译,那么就会出问题,因为最新的微软运行时在做出改善的同时也引入了一些破坏性的改变。
这些改变表现在六个方面:
该列表相对较长,所以在此只会列出其中的一部分,如下:
核心
|
应用程序配置文件名称的改变 |
“如果你的应用程序配置文件名是application-name.config,那么需要将其重命名为application-name.exe.config。例如,你需要将MyApp.config重命名为MyApp.exe.config。” |
|
关闭了代码访问策略。 |
参见代码访问安全策略的兼容性和迁移。 |
ASP.NET
|
由于CAS策略的改变,在全局缓存中运行受信代码的应用程序可能会失败。 |
参见ASP.NET 4应用程序中的代码访问安全。 |
|
在安装了.NET 4.0之后,安装在IIS 6.0上的ASP.NET 2.0程序可能会出现错误。 |
要解决这个问题,你需要禁用ASP.NET 4.0,或者将ASP.NET 2.0的应用移动到未安装ASP.NET 4的IIS实例中。 |
|
ASP.NET 4.0中的页面解析器更加严格。 |
你将必须修正由无效标签所产生的错误。 |
数据
WCF
|
配置文件 |
WCF支持配置文件之间的合并。 |
|
服务托管 |
你将再无法通过在属性定义上添加allowDefinition='MachineToApplication'来在服务级别指定<serviceHostingEnvironment>配置选项。在服务级别指定<serviceHostingEnvironment>元素在技术上是错误的,并且会导致不一致的行为。
|
WPF
XML
查看英文原文:The Complete List of Migration Issues Upgrading to .NET 4.0