刚刚阅读了在web应用程序项目中使用codefile = somefile.aspx.cs而不是codebehind = somefile.aspx.cs的可能性(
described here).显然这只会在加载页面时导致文件编译,它不再预编译(对吧?).
解决方法
我认为如果您的网站不是全部,那么您可能会遇到支持问题. (CodeFile或CodeBehind)
即如果您试图找出生产站点上的问题,您的错误处理告诉您是在某个文件或命名空间内,那么在进行故障排除之前,您必须停下来检查您支持的每个文件和控件,看看是否页面作为已编译程序集的一部分运行或从站点上的代码隐藏运行.
如果您尝试使用混合环境,也可能遇到冲突或缺少的命名空间.
我在CodeFile中看到它的优点:
>您的生产源代码可以位于您的生产网站上.如果代码全部编译在bin目录中的DLL中,则无法绝对保证开发环境或源代码控制中的代码就是那里的代码. (当然应该是这样,但是如果一切都是应该的那样,我们中的许多人都不会有修复其他人代码的工作!)
>对于更新,您只需要推出单个文件,而不是整个程序集.
>在重新编译和发布到生产之前,您可以在其他页面上进行开发,而不需要退出.
缺点:
>由于您没有推出已编译的程序集,因此单个文件中可能存在错误,除非有人访问每个特定页面或者您确定在部署之前进行编译,否则不会捕获这些错误.>您可能在代码文件中存在冲突的命名空间,这些命名空间可能永远不会被捕获并可能导致混淆或错误.>动态编译的性能问题
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。