我正在使用 Web Deploy 将我的应用程序部署到 IIS 服务器。在我的机器上一切正常,但当我尝试访问生产中的其中一个页面时,它返回 500 错误。
我可以看到页面抛出了
InvalidOperationException
。
InvalidOperationException: The view 'Edit' was not found. The following locations were searched:
/Views/Device/Edit.cshtml
/Views/Shared/Edit.cshtml
/Pages/Shared/Edit.cshtml
该视图肯定存在于搜索到的文件夹之一中。
我尝试进行完全清理/重建,并重新启动 Visual Studio,但我仍然遇到此异常。如果我在我的开发机器上以发布模式运行,该页面就可以工作。
Web Deploy 似乎没有正确编译此视图,但我不知道如何修复它。
我通过将视图文件拖到我的
Shared
视图文件夹中解决了这个问题。 MVC 能够在共享文件夹中找到视图。然后我将文件拖回到原来的文件夹,一切都继续工作。
我通过更改视图的文件属性解决了这个问题。我将构建操作从“无”更新为“内容”。