站内搜索:
网站首页化境产品软件资讯手机开发应用开发手机软件下载源代码下载编程工具开发资料博客
方式:
关键字:
 
  相关内容
  · 有关 Visual Web Developer 转换的疑难解答
 
当前位置: 化境编程网 >> .NET技术
有关 Visual Web Developer 转换的疑难解答
[时间: 2006-5-24 15:49:26 作者:microsoft ]

来源: www.microsoft.com


当使用 Microsoft Visual Web Developer 打开在 Microsoft Visual Studio .NET 的较早版本中创建的 Web 应用程序项目时,Visual Web Developer 会自动将 Web 应用程序转换为 ASP.NET 2.0 版中使用的格式。

Note注意

有关转换过程的详细信息,请参见 Visual Studio .NET Web 项目转换

一些情况下,Web 应用程序在转换后将会有不同的行为。本主题描述最常见的这些情况并建议解决方案。有关迁移疑难解答的更多信息,您还可以参考位于“ASP.NET Development Center for Migration”(用于迁移的 ASP.NET 开发中心)的迁移信息。

本主题描述下列转换问题:

转换后控件呈现不同的标记

在 ASP.NET 2.0 中,除非浏览器被标识为不支持 XHTML 功能,否则默认情况下,Page 类和 ASP.NET Web 服务器控件会呈现与 XHTML 1.0 Transitional 标准兼容的标记。转换向导会自动将 xhtmlConformance 元素mode 属性设置为 Legacy。与 ASP.NET 较早版本中的元素呈现相比,转换后的元素呈现稍有不同。大多数情况下,呈现中的差异对应用程序的功能没有影响。但是,如果使用的客户端脚本依赖于特定的标记或属性,则应用程序可能会不按之前的方式工作。

有关更多信息,请参见 ASP.NET 和 XHTML

标记验证产生错误

转换后引发页事件两次

转换过程会移除 @ Page 指令的 AutoEventWireup 属性。此属性的默认值为 true,这意味着页面会自动引发名称为 Page_event 的事件。如果一个页面已将 AutoEventWireup 属性显式设置为 false,则在转换后,页面上的事件将会被自动引发。如果该页面包括另外一个引发事件的显式方式(例如 Visual Basic 中的 Handles 关键字),则事件可能被引发两次。若要解决这一问题,请将 AutoEventWireup="false" 添加至 @ Page 指令。

编译过程中报告不明确类

在转换项目后,编译器可能将报告某个类是不明确的,这意味着该类从多个命名空间导入。例如,如果转换后的项目创建 Cache 类的实例,则编译器报告该类同时存在于 System.NetSystem.Web.Caching 命名空间中。

在类似这样的情况下,.NET Framework 2.0 版包含了一个新类,该类与某个现有类同名。若要更正此问题,请在代码中找到对该类的所有引用,并在类名称前预置命名空间的名称,以创建完全限定引用。

与代码隐藏页模型中的更改相关的错误

分析错误

转换向导会就无法分析的 .aspx 文件报告分析错误。分析问题的原因可分为以下几类:

已排除的文件不再排除

混合项目类型的部分已转换解决方案

在 Microsoft Visual Studio 2005 和早期版本中,解决方案可以同时由 Web 项目和客户端项目(例如类库或 Windows 应用程序)组成。如果您正使用 Microsoft Visual Studio 2005 的速成版,则只有与该速成版有关的解决方案部分可以转换。例如,如果在 Visual Web Developer 2005 速成版 中使用转换向导,则不管解决方案包含了哪些其他项目类型,只能转换您打开的解决方案的 Web 项目。生成的已转换解决方案只能部分转换。若要完全转换包含混合项目类型的解决方案,请使用 Visual Web Developer 2005、Visual Studio 2005 或 Visual Studio 2005 Team System。

将基于 Web 的站点作为基于文件的站点打开

客户端 ID 从代码隐藏文件中被删除

如果您的标记所使用的客户端 ID 属性(例如在 HTML div 元素中)与代码隐藏页中声明的成员变量具有相同名称,则在转换过程中将移除该标记中的 ID 标记。

若要解决此问题,请在转换之前检查您的标记和代码,并查找客户端 ID 属性和成员变量之间的名称冲突,然后进行更改以使名称各不相同。

循环引用错误

转换过程将 @ Reference 指令添加到引用其他页或用户控件的代码隐藏页。有时这可能会创建循环引用。若要帮助进行故障排除,可以将 compilation 元素batch 属性设置为 False。默认的 batch 属性值为 True。将批处理设置为 False 可能消除循环引用问题。从长远角度看,您可以重新设计这些页或用户控件以使用存储在 App_Code 文件夹中的类中定义的抽象基类,并将 batch 属性重新设置为 True

--- 文章结束 ---

 
| 关于我们 | 联系方法 | 网络广告 | 解决方案 | 产品服务 |

©Copyright by 中晟科技 2003 - 2006 QQ:142907 稻香老农