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

19

我的解决方案中有三个项目: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.

提前感谢!


你有检查生产服务器上网站的IIS设置和应用程序池的目标框架吗? - Pavel Bakshy
6个回答

21

-进入IIS。 -默认网站-> 您的应用程序目录->高级设置->应用程序池-> 设置您的版本(例如ASP.NET v4.0) -刷新您的应用程序目录并浏览它。 完成了。


这是完美的答案。 - Ajay2707

15

您需要更新您的 Web 服务扩展以允许在 IIS 中使用框架 4.0。要启用 ASP.NET 4.0 的 Web 服务扩展,请按照以下步骤操作:

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

我去了GoDaddy并发现它配置为使用.Net Framework 2.0;我将其更改为4.0,但仍然遇到相同的问题。 - Susan
2
你重启了IIS服务器服务吗? - Hassan Boutougha

7

我试图将我的应用程序从.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文件夹中。当我删除它后,应用程序正常运行。


2
您可能还需要运行ASP.NET IIS注册工具(Aspnet_regiis.exe)- 在此处查看更多详细信息
C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis.exe -i

1

app.config 检查app.config文件中的这一行,看.NET Framework版本是否正确,如果不正确,请将其更改为应用程序属性中设置的版本。


0

我在运行v2.0版本时遇到了同样的错误,但当我将版本更改为v4.0时,它成功地工作了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接