【发布时间】:2014-02-23 20:27:59
【问题描述】:
我创建了我的第一个 MVC 4 项目,它可以在本地服务器上完美运行。但是当我将它发布到本地文件夹并将文件夹内容上传到托管服务器时。我尝试运行它并收到此错误:
无法加载文件或程序集“DotNetOpenAuth.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246”或其依赖项之一。该系统找不到指定的文件。 谁能帮帮我?
Web.config:
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" />
<bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DotNetOpenAuth.AspNet" publicKeyToken="2780ccd10d57b246" />
<bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-1.3.0.0" newVersion="1.3.0.0" />
</dependentAssembly>
</assemblyBinding>
P.S Web Forms 中的同一个项目适用于托管服务器。
【问题讨论】:
-
您是否检查过.dll 是否存在于您编译站点的.bin 文件夹中?
-
确保您在 dll 上选择了“复制本地”。这些可能是棘手的错误,因为错误中的 dll 有时不是“其依赖项之一”的问题。最后的办法是在服务器上安装框架。
-
你的主机支持 MVC 吗?
-
但是当我在本地服务器上运行相同的已发布项目时它可以工作!
-
如何检查主机是否支持 MVC?
标签: asp.net asp.net-mvc asp.net-mvc-4 visual-studio-2012