iframe解析器错误(HtmlIframe/HtmlGenericControl)但仍使用.NET 4.0(不是.NET 4.5)

Ed *_*nek 5 .net c# asp.net visual-studio-2010 visual-studio-2012

这是我的错误消息

分析器错误消息:基类包括字段"iframeShim",但其类型(System.Web.UI.HtmlControls.HtmlGenericControl)与控件类型(System.Web.UI.HtmlControls.HtmlIframe)不兼容.

来源错误:

Line 180:    <iframe runat="server" id="iframeShim" frameborder="0" scrolling="no" style="position: absolute;
Line 181:        display: block; z-index: 990; z-index: 990" src="~/blank.html"></iframe>
Run Code Online (Sandbox Code Playgroud)

我正在使用.NET 4.0

版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.34249

设计师代码是:

protected global::System.Web.UI.HtmlControls.HtmlGenericControl iframeShim;
Run Code Online (Sandbox Code Playgroud)

我完成的搜索显示,当您升级到.NET 4.5并且服务器端变量的类型未正确更新(需要,而HtmlIframe不是HtmlGenericControl)时,这通常是一个错误.此外,这些搜索的分析器错误消息略有不同(这在4.5中运行时有意义) - 他们的消息是:

...但其类型(System.Web.UI.HtmlControls.HtmlIframe)与控件类型(System.Web.UI.HtmlControls.HtmlGenericControl)不兼容.

我在web.config中的targetFramework是:

<compilation targetFramework="4.0">
Run Code Online (Sandbox Code Playgroud)

所以,我不确定这里发生了什么.有任何想法吗?注意,我已经安装了VS2012,最近不得不回到VS2010项目并做一些工作,这开始发生了.我立即认为这是一个.NET版本问题,但是一切仍然显示我在这个VS2010项目中使用.NET 4.0.

Ed *_*nek 9

另一个人和我一样有同样的问题,在这篇文章中解决了这个问题:https: //stackoverflow.com/a/21707234/156611

基本上,确保将您compilation targetFramework设置为4.6.1(或您正在使用的任何内容),然后进入ASPX/ASCX文件,抛出错误并保存.保存将使用适当的类型重新创建设计器文件.

就我而言,它改为:

System.Web.UI.HtmlControls.HtmlGenericControl
Run Code Online (Sandbox Code Playgroud)

至:

System.Web.UI.HtmlControls.HtmlIframe
Run Code Online (Sandbox Code Playgroud)