我用本机的vs发布mvc项目,部署到服务器上会报一个错误。但是我部署在本机的IIS中就可以正常运行。
之后我用同事的机子重新发布一下,部署到服务器,也是可以运行的。我把机子上vs重新安装,还是不行。。。郁闷。。。
园子的大神在哪里???
Server Error in '/' Application.
--------------------------------------------------------------------------------
The resource cannot be found.
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.
Requested URL: /
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1
是MVC的版本问题嘛
确实是版本问题,系统自动更新了MVC4,把System.Web.Mvc.dll 更新到了 4.0.40804.0,之前是4.0.20710.0
建议看一下global.asax有没有被发布到服务器上去
有这个文件的~
@Rocky Huang: web.config中有没有下面的配置:
<modules runAllManagedModulesForAllRequests="true" />
@dudu: 也是有的
@Rocky Huang: 找到原因了,是因为上次重装系统的时候,系统自动更新了MVC,把System.Web.Mvc.dll 更新到了 4.0.40804.0
而我们项目应该用的是4.0.20710.0,我把C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies 下的dll文件换成4.0.20710.0就可以了
看下服务 asp.net state service 是否启动?
在检查 IIS的 asp.net版本 里面有多个版本的。
你是不是使用了 urlrewriter.dll ?看着像 url rewrite 配置问题
@mrlenon: 也没有使用~
1、重新注册iis试一下 猛击这里
2、如果还是不能解决问题,可能是mvc站点项目下有些依赖dll没有找到,可以尝试将MVC3和.net framework重新安装,或者将依赖的二方库或者三方库直接放到一个公共目录下,然后引用dll,注意,不是VS创建项目时自动带进去,因为根据实践,有时用VS自动发布,VS自带的Deploy工具会过滤掉一部分dll。
谢谢JeffWong,找到原因了,是因为上次重装系统的时候,系统自动更新了MVC,把System.Web.Mvc.dll 更新到了 4.0.40804.0
而我们项目应该用的是4.0.20710.0,我把C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies 下的dll文件换成4.0.20710.0就可以了
mvc dll路径引用不对,应该是引用对应网站packages下dll文件
服务器装的mvc版本 和你本地装的mvc版本不一致