我正在将一个大型网站项目从 Visual Studio 2010 升级到 2012。在我的项目中,我table
元素与runat="server"
属性。其中许多都有thead
它们里面的元素。当我在 2012 年打开它并尝试构建时,出现以下错误:
Value of type 'System.Web.UI.HtmlControls.HtmlGenericControl' cannot be converted to 'System.Web.UI.HtmlControls.HtmlTableRow'
删除runat="server"
属性或注释掉thead
修复它。仅注释掉tr
里面的元素thead
不修复它。这是重现该问题的简化示例:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Test.aspx.vb" Inherits="Test" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table id="Example" runat="server">
<thead>
<tr>
<th>test</th>
</tr>
</thead>
</table>
</div>
</form>
</body>
</html>
错误发生在table
元素打开。
如何在不执行以下操作之一的情况下解决此问题?
- 删除
runat="server"
属性
- 删除
thead
element
- 将其更改为
asp:table
element
如果有人能够解释 2012 年的不同做法导致了这种情况,请加分。
UPDATE:
该问题不会出现在网络中app,仅在网站中。
该项目实际上并没有升级,只是我的开发环境。在这两种情况下,我都使用 4.0 框架
我尝试使用4.5框架,但没有帮助。
2012 年 9 月 10 日:
我有一个需要 Microsoft 支持的开放案例。他们的开发团队正在调查此事。
2012 年 10 月 24 日:
由于 .NET 4.5 取代了 4.0,我也无法再在 VS 2010 中进行编译。我遇到的问题纯粹是 .NET - 而不是 Visual Studio。
现在可以修复此问题。http://support.microsoft.com/kb/2750149 http://support.microsoft.com/kb/2750149对于 Windows 8 和http://support.microsoft.com/kb/2750147 http://support.microsoft.com/kb/2750147适用于 Windows 7 平台。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)