我的新ASP。NET MVC Web应用程序工作在我的开发工作站,但不运行在我的Web服务器…


“/”应用程序中的服务器错误。


配置错误

描述:在处理服务此请求所需的配置文件期间发生了错误。请检查下面的特定错误详细信息,并适当修改配置文件。

解析器错误信息:无法加载文件或程序集System.Web。Mvc,版本=1.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35'或其依赖项之一。系统无法找到指定的文件。

源错误:

Line 44:         <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 45:         <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 46:         <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 47:         <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
Line 48:         <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

来源文件:C:\inetpub\www.example.org\web.config行:46

程序集加载跟踪:以下信息有助于确定程序集的“System.Web. exe”为何为“System.Web. exe”。Mvc,版本=1.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35'无法加载。

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

版本信息:Microsoft .NET Framework版本:2.0.50727.3053;ASP。净版:2.0.50727.3053


我是否需要安装aspnetmvcbeta安装程序?服务器上的Msi ?或者服务器有不同的安装程序?


当前回答

在尝试了所有方法但仍然失败之后,这便是我的解决方法: 我记得我上次在我的Visual studio中更新MVC版本时出错了,所以我从另一个Visual studio(不同的计算机)运行项目,然后上传dll-s,它工作了。 也许它会帮助到某人……

其他回答

在VS2010中,在解决方案资源管理器中右键单击项目并选择“添加可部署依赖项”。然后勾选下面对话框中与MVC相关的复选框。

这将在项目中创建一个'_bin_deployableAssemblies'文件夹,其中包含其他答案中提到的所有.dll文件。我相信在创建部署包时,会将这些文件复制到bin文件夹中。

直接在web服务器上安装MVC是一种选择,这样程序集就会安装在GAC中。您还可以bin部署程序集,这可能有助于在最终版本可用之前,使您的服务器远离预发布程序集。

Phil Haack前几天发表了一篇关于如何在应用中部署MVC的文章,所以没有必要直接安装:

http://www.haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx

我们想要添加它是因为我们正在创建一个使用它的类库。

对我来说,就是在这里……

C:\Program Files (x86)\Microsoft ASP.NET\ASP。NET MVC 4\程序集

在尝试了所有方法但仍然失败之后,这便是我的解决方法: 我记得我上次在我的Visual studio中更新MVC版本时出错了,所以我从另一个Visual studio(不同的计算机)运行项目,然后上传dll-s,它工作了。 也许它会帮助到某人……

快速简单的解决方案:我在Microsoft.AspNet.Mvc -Version 5.2.3中遇到了这个问题,在经历了所有这些线程之后,我找到了一个最简单的解决方案。

只需遵循以下步骤:

在Visual studio中打开项目的NuGet包管理器 搜索Microsoft.AspNet.Mvc 当发现时,将操作更改为“卸载”并“卸载它” 完成后,重新安装并尝试

这将自动修复引用的所有问题。 见下图: