仅服务器端出现CS0103错误:'model'在当前上下文中不存在
问题解决记录:MVC 4升级MVC5+Oracle 11g迁移12c后IIS部署出现CS0103错误
问题场景
最近我在做一个Web应用的升级工作:把原本的MVC 4项目升级到MVC 5,同时将Oracle DataAccess组件从11g迁移到12c。本地在Visual Studio里运行完全正常,没有任何报错,所有功能都能正常使用,但部署到开发服务器的IIS上之后,直接抛出了错误:CS0103: The name 'model' does not exist in the current context
已尝试的无效方案
一开始我参考了两篇Stack Overflow的帖子,照着里面的修复方案试了,但都没效果——毕竟我的情况比较特殊,本地开发环境完全没问题,问题明显出在服务器的IIS配置层面。除此之外我还做了这些尝试:
- 反复核对Web.config文件,确认MVC 5、Razor等相关组件的配置和版本都是最新且正确的
- 将所有项目依赖的DLL的
Copy Local属性设置为True,确保发布时能把所有依赖文件同步到服务器 - 调整发布配置里的目标平台和预编译选项,试过多种组合都没改善
- 检查服务器环境:Windows Server 2008 R2系统,已安装.NET Framework 4.7.1;对应IIS应用池的.NET Framework版本设为
v4.0.30319,托管管道模式为集成,高级设置里框架版本指定为4.0,且禁用了32位应用;服务器也同时安装了32位和64位的Oracle 12c客户端
最终解决办法
试了各种配置调整都没用之后,我索性删除了IIS中已创建的这个站点,然后重新创建站点并重新部署应用,结果问题直接消失了!目前还没排查出具体是IIS站点的哪个配置项导致的问题,但这个操作确实解决了我的部署报错。
内容的提问来源于stack exchange,提问作者War2d2
相关产品推荐
相关产品推荐

