我试图预编译我的ASP.NET MVC应用程序并将其部署到IIS6框(带通配符映射),但是我在渲染部分视图(用户控件)时遇到错误.在预编译之前,它在我的开发机器上正常工作.
错误是:
'/'应用程序中的服务器错误.
找不到部分视图'ListGrid'
.
搜索了以下位置:
〜/ Views/Initiative/ListGrid.aspx
~/Views/Initiative/ListGrid.ascx
~/Views/Shared/ListGrid.aspx
~/Views/Shared/ListGrid.ascx
我检查了Views\Shared的文件,它不存在,我认为这是正常的,因为它预编译.但只是为了咯咯笑,我在该文件夹中放了一个空白文件名为ListGrid.ascx,但后来我收到了这个错误:
'/'应用程序中的服务器错误.
文件'/Views/Shared/ListGrid.ascx'
尚未预编译,无法
请求.
我用Google搜索并搜索了但是找不到任何类似的问题,但没有运气.
您可以通过将其置于项目属性中的后构建操作中来预编译MVC应用程序:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler -p "$(ProjectDir)." -v /$(ProjectName)
这比没有它需要更长的时间,但是您可以更好地检测在部署之前在运行时发生的一些错误.
如果您的视图中包含无效代码或使用此方法缺少视图,则编译将失败.