首页 > 解决方案 > mono asp.net System.Web.Compilation.ParseException 父类型不是从 System.Web.UI.Page 派生的

问题描述

我有一个针对 4.5.2 的 WebForms 应用程序。它在 VS2015 和 IIS 上运行良好。

我想在 Ubuntu 18.04 上部署单声道。

其中一个页面,只有一个,抱怨 codeBehind 类不是从 System.Web.UI.Page 派生的,但我可以向你保证它是。它遵循与其他有效页面相同的模式。

我可以看到没有为 aspx 页面生成代码(在批处理编译过程创建的临时 dll 中)。

由于上述错误,我还收到一条警告,指出 aspx 文件被跳过。

同样,它是从 System.Web.UI.Page 派生的。我确实设置了一个完整的 monodevelop 环境,我得到了与 apache2/mod_mono 完全相同的错误,但我没有从 monodevelop 得到任何错误/警告。

有什么建议么?有什么建议如何调试吗?

标签: c#asp.netwebformsmono

解决方案


原来是设计器文件中的一个问题。我通过慢慢评论项目来解决这个问题。

这个特定的页面使用了一个 iframe 并且 VS2015 为此声明了一个 HtmlIframe。Mono(Develop) 不喜欢这样,而且显然不知道 HtmlIframe。我仍然不明白为什么没有关于此的正确错误消息。

我用 HtmlGenericControl 替换了 HtmlIframe,一切都很好。


推荐阅读