我有一个在我的开发机器上编译并运行良好的项目但是当我在Web服务器上运行它时会出现以下错误。
分析器错误消息:文件'/Views/Shared/Main.master.cs'不存在。
服务器上不存在提到的文件,但文件'/Views/Shared/Main.master'不存在。
我使用'发布'命令上传项目。是否缺少cs文件?
是否有一些设置只是及时编译需要关闭?
答案 0 :(得分:7)
我偶然发现了这个解决方案。
母版页具有以下属性CodeFile="Main.master.cs"
。当我用CodeBehind="Main.master.cs"
替换它时,它按预期工作。
该文件最初来自较旧的Web应用程序,但我不知道其中的差异意味着什么。如果其他人能够提出更好的解释,我会接受他们的答案,而不是这个。
答案 1 :(得分:1)
http://aspadvice.com/blogs/ssmith/archive/2007/01/24/CodeFile-or-CodeBehind.aspx
答案 2 :(得分:0)
通常,文件标记有对bin中存在的dll的引用,例如Main_master的继承声明中的App_Web_nnnnn。这是Web服务器上该文件的情况,并且bin中是否存在引用的dll?如果没有,那么它可能不会按预期编译。
答案 3 :(得分:0)
就我在MVC看到的情况而言,我认为您甚至不需要代码隐藏页面,对吗?
我已经删除了我的应用中出于任何原因的任何页面的引用。
另外,当你创建一个新视图时,我认为它甚至不会在MVC中创建代码隐藏页面,是吗? (真的让我开始!!)