程序集崩溃我的asp.net 4.0

Cru*_*ler 8 asp.net iis-7 quartz.net

我收到此错误 "无法从程序集'mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'加载类型'System.Runtime.CompilerServices.ExtensionAttribute'."

每当我在我的网站的bin目录中包含quartz.net的dll并在代码中引用它.我确信它与错误的.net框架有关.

我的asp.net站点正在使用目标框架4.0我正在使用.net 4 quartz.net文件

我的IIS应用程序池(经典的.net池)设置为运行.net 4.0 frework.

我不知道从哪里开始,但我确定知道的是删除Quartz并且我再次看起来很好(减去调度)

Ňuf*_*Ňuf 6

ExtensionAttribute类需要在C#中使用扩展方法.在.NET Framework 4.0中,此类在程序集System.Core.dll中,但在.NET Framework 4.5中,类已移至mscorlib.dll.我想问题是,Quartz.dll(或其他一些程序集)是在安装了.NET Framework 4.5的计算机上编译的,因此期望mscorlib.dll中的ExtensionAttribute,而只有.NET Framework 4.0的计算机上没有.

我相信在没有.NET Framework 4.5的计算机上重新编译Quartz可以解决这个问题.使用IIS在服务器上安装.NET Framework 4.5也应该有所帮助,但我不推荐它,因为它仍然是测试版.


jvi*_*lta 5

这是最终版本中引入的一个问题,因为Quartz.Net是针对4.5框架编译的.看一下报告问题的这个帖子.可以使用固定版本的dll.