突然,在添加了一些NuGet包(大部分与ASPNET Identity相关)后,它开始显示以下错误:
FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
我的目标是. Net Framework 4.7.1。我尝试安装NuGet软件包System.Runtime 4.3.0,但没有帮助。web.config文件有一个引用:
<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
</dependentAssembly>
bin文件夹中没有System.Runtime.dll。
有什么想法吗?
我使用的是Visual Studio 2017 15.5.5。
- 更新日期:**
我在. csproj文件中使用PackageReference条目,所以这不是packages.config的问题。
似乎未加载某些依赖项。
6条答案
按热度按时间wkyowqbh1#
程序集绑定可能错误。
删除app.config或web.config AssemblyBinding节。然后在“包管理器”窗口中运行以下BindingRedirect:
可选:如果升级所有项目的框架版本,则需要重新安装所有项目的所有Nuget包。要轻松执行此操作,请使用以下包管理器脚本:
然后运行上面的绑定重定向代码。
oalqel3c2#
我最近将一个项目从net 462升级到net 471,在我的情况下,问题是net 462版本需要一些汇编重定向,但严重混淆了net 471。
解决方案是移除web.config中的所有程序集重定向项,并让Visual Studio重新计算它们-它们将显示为警告,单击该警告可以将它们重新添加到web.config中
x33g5p2x3#
我的ASP.NET项目在VS 15.8.4中已经是net471了。当我试图将现有的NuGet包更新到最新版本时,我会在IIS Express中启动项目时收到此错误。
错误图像格式异常:未能加载文件或程序集“System.Runtime”或它的某一个依赖项。
我可以通过修改项目的web.config文件来解决这个问题。
删除这两个System.Runtime依赖项的bindingRedirect行解决了我项目中的这个问题,使我的web.config中仍然存在这个问题。
j2datikz4#
bin文件夹中没有System.Runtime.dll。
引用了软件包System.Runtime,但需要安装。
sulc1iza5#
我有这个问题,我花了一段时间才弄清楚。其他人可能有一个类似的设置,我的,因此有这个问题。
我在IIS(WCF服务)中运行了一个.NET Framework v4.8应用程序。它工作正常,直到我不小心将一个.NET Core 3. 1 DLL复制到bin目录中。IIS显然试图托管.NET Core DLL,而运行时并不存在。一旦我删除了DLL,它就完全崩溃了。希望这对其他人有帮助:)
g0czyy6m6#
我已经通过向web.config添加以下内容解决了这个问题:
您的特定程序集版本可能会有所不同。