我创建了一个Web项目,它在Visual Studio中运行良好。但是,我在将其发布到Azure网站后收到了以下错误。是什么导致了这个问题?
未能加载文件或程序集系统。Web.Http.WebHost,Version=5.0.0.0,Culture=neutral,public key token = 31bf 3856 ad 364 e 35 '或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自HRESULT的异常:0x80131040)
说明:执行当前 Web 请求期间发生未经处理的异常。请查看堆栈跟踪,了解有关错误及其在代码中起源位置的详细信息。
异常详细信息:System.IO.FileLoadException:无法加载文件或程序集“System.Web.Http.WebHost,版本=5.0.0.0,区域性=中性,公钥令牌=31bf3856ad364e35”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT的例外:0x80131040)
源错误:
在执行当前web请求期间生成了未处理的异常。关于异常的起源和位置的信息可以使用下面的异常堆栈跟踪来识别。
程序集加载跟踪:以下信息有助于确定程序集的系统。未能加载Web.Http.WebHost,Version=5.0.0.0,Culture=neutral,public key token = 31bf 3856 ad 364 e 35。
WRN:程序集绑定日志记录已关闭。若要启用程序集绑定失败日志记录,请设置注册表值 [HKLM\Software\Microsoft\Fusion!启用日志] (DWORD) 到 1。注意:程序集绑定失败日志记录会降低一些性能。若要关闭此功能,请删除注册表值 [HKLM\Software\Microsoft\Fusion!启用日志]。
以下是web的一部分。配置文件。
<system.web>
<customErrors mode="Off"/>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
<pages>
<namespaces>
<add namespace="System.Web.Helpers" />
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.WebPages" />
</namespaces>
</pages>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers></system.webServer>
<runtime>
<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="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
我遇到了同样的问题,我通过将以下库的 CopyLocal
设置为 true 来解决它:
System.Web.Http.dll
System.Web.Http.WebHost.dll
System.Net.Http.Formatting.dll
我必须补充一点,我使用MVC4和NET 4
如果您仍在寻找答案,请尝试检查此问题线程。它帮助我解决了类似的问题。
编辑:帮助我的解决方案是按照Pathoschild的建议,从NugGet包管理器运行Update-Package Microsoft.AspNet.WebApi - reinstall
。然后我不得不删除我的 .suo 文件并重新启动 VS,正如谢尔盖·奥西普丘克在此线程中建议的那样。
发布的(部署的环境)中缺少dll
。这就是为什么它在本地即Visual Studio中工作,而在Azure网站环境中不工作的原因。
只需在程序集(系统)的属性中执行< code>Copy Local = true。Web.Http.WebHost)然后进行重新部署,应该可以正常工作。
如果您遇到类似的错误,即缺少其他程序集,请将该程序集设为 copylocal=true 并重新部署,如果您不确定其依赖项,请迭代重复此操作。
我根据。http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2 我明白错误了。其他人有这个错误吗? 第48行:第49行:第50行:}第51行:第52行:protected void Application_Begin
对于可以与Azure函数一起使用的包是否有任何限制。我已经尽可能多地研究了,但似乎并不是这样,然而,当我试图创建一个引用包“Microsoft.ServiceFabric”的Azure函数时,我得到了以下错误: corelib:执行函数时异常:ScaledOwnServiceFabrics。FunctionApp2:无法加载文件或程序集“System.Fabric,版本=6.0.0.0,Cultu
我试图托管一个webproject,但是当服务器试图编译它时,我得到以下错误: 未处理的异常:System.io.FileLoadException:无法加载文件或程序集“Microsoft.codeAnalysis,版本=1.1.1.0,Culture=Neutrice,PublicKeyToken=31BF3856AD364E35”或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。(来
我有一个网站,我已经使用了很长时间,没有任何问题。我做了一些改进来提高性能,包括将数据存储在缓存中,以及改变网站与数据库的交互方式。然而,自从将网站发布到它的位置后,现在每当我试图加载它时,它都返回一个空白页。 每当我尝试加载它时,我都会收到来自该站点的错误电子邮件,显示“外部组件已引发异常”的异常消息。我有几个地方可以发送错误电子邮件,它们都在触发,每个地方提供的堆栈跟踪略有不同,如下所示。 堆
我在我的项目中使用的是umbraco 4.11.3。我的项目在Windows 7上运行良好,并在visual studio 2012上运行。但它在Win 8中从visual studio 2012运行时并不工作! 错误是: 无法加载文件或程序集“System.Web”。Mvc,Version=2.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e
问题内容: 我正在使用c#和数据库MySQL开发桌面应用程序。当我在计算机上安装其安装程序时,它可以正常工作,但是当我在其他计算机上安装它的安装程序时,尝试访问数据库时会出现以下异常。我用来与MySQL通信。 无法加载文件或程序集“ MySql.Data,版本= 6.2.2.0,区域性=中性,PublicKeyToken = c5687fc88969c44d”或其依赖项之一。该系统找不到指定的文件