无法加载文件或程序集':此程序集由比当前加载的运行时更新的运行时构建,无法加载

时间:2012-08-26 16:35:15

标签: c# linq-to-entities asp.net-4.0

我在我的解决方案中有3个项目:BL,DL和UI。这三个项目都有一个> NET 4的目标框架;我通过查看每个项目的属性页面仔细检查了这一点。我尝试在托管环境中运行网站时收到以下错误消息,但在本地运行时却没有。

Could not load file or assembly 'BL' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.

提前致谢!

4 个答案:

答案 0 :(得分:19)

- 转到IIS。 -Default WebSite->您的应用程序目录 - >高级设置 - >应用程序池 - >设置您的版本(例如ASP.NET v4.0) - 刷新您的应用程序目录并浏览它。 已经完成了。

答案 1 :(得分:13)

您必须更新您的webservice扩展以允许IIS中的框架4.0。要为ASP.NET 4.0启用Web服务扩展:

  1. 单击“开始”,单击“控制面板”,单击“系统安全”,单击“管理工具”,然后单击“Internet信息服务(IIS)管理器”。
  2. 如果需要连接到远程IIS服务器,请右键单击“Internet信息服务”节点,然后单击“连接...”选项。
  3. 如有必要,键入远程IIS服务器和凭据的计算机名称。
  4. 单击“Web服务扩展”文件夹。安全锁定控制台出现在右侧框架中。
  5. 在“Web服务扩展”窗口中,右键单击“ASP.NET v4.X.XXXX”,然后单击“允许”。

答案 2 :(得分:3)

当我尝试将我的应用程序从.NET 3.5升级到.NET 4.5时,我收到了同样的错误。当我恢复更改(错误的时候,我稍后会弄清楚)时,我收到了错误:

Could not load file or assembly 'XmlSerializers' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.

这个dll在我项目的bin文件夹中。当我删除它时,应用程序正常运行。

答案 3 :(得分:2)

您可能还必须运行ASP.NET IIS注册工具(Aspnet_regiis.exe) - more details here

C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis.exe -i