c# - 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 得到任何错误/警告。
有什么建议么?有什么建议如何调试吗?
解决方案
原来是设计器文件中的一个问题。我通过慢慢评论项目来解决这个问题。
这个特定的页面使用了一个 iframe 并且 VS2015 为此声明了一个 HtmlIframe。Mono(Develop) 不喜欢这样,而且显然不知道 HtmlIframe。我仍然不明白为什么没有关于此的正确错误消息。
我用 HtmlGenericControl 替换了 HtmlIframe,一切都很好。
推荐阅读
- html - CSS GRID Auto-Fill,按钮重叠,取决于分辨率
- javascript - 使用 Chrome 扩展程序打开弹出窗口中的图像 src 本地文件
- dynamics-crm - 动态 GUID 到主键的映射
- android - .lite 和 .tflite 格式有什么区别
- python - Keras 自定义激活函数(非训练)
- r - 从 R drake 包中的报告生成触发通知
- dialogflow-es - Actions on Google:请求包含无效参数
- string - 我可以用 make 或 new 在 golang 中制作一个预填充的字符串吗?
- python - 内置操作 Numba 的参数类型错误
- javascript - 传单弹出表单:在弹出表单提交中包含传单 latlong 值