Вопрос по iis-7, asp.net – сборка сбой моего asp.net 4.0

8

Я получаю эту ошибку "could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'."

всякий раз, когда я включаю dll quartz.net в каталог bin моего веб-сайта и ссылаюсь на него в коде. Я уверен, что это связано с неправильной .net Framework.

мой сайт asp.net использует целевой фреймворк 4.0 я использую .net 4 quartz.net файлы

и мой пул приложений IIS (классический пул .net) настроен на запуск .net 4.0 frework.

Я не уверен, с чего начать, но то, что я точно знаю, это удалить Кварц, и я снова выгляжу хорошо (без планирования)

Ваш Ответ

3   ответа
6

ExtensionAttribute Класс необходим для использования методов расширения в C #. В .NET Framework 4.0 этот класс находится в сборке System.Core.dll, но в .NET Framework 4.5 класс был перемещен в mscorlib.dll. Я предполагаю, что проблема в том, что Quartz.dll (или какая-то другая сборка) была скомпилирована на компьютере с установленным .NET Framework 4.5, ожидая, таким образом, ExtensionAttribute в mscorlib.dll, которого нет на компьютерах только с .NET Framework 4.0.

Я считаю, что перекомпиляция Quartz на компьютере без .NET Framework 4.5 должна решить проблему. Также может помочь установка .NET Framework 4.5 на сервере с IIS, но я бы не рекомендовал его, поскольку он все еще бета.

Error: User Rate Limit Exceededmarcgravell.blogspot.co.nz/2012/09/…
1

вtrue?

чтениеВот :

This issue has to do with how ILMerge.exe is run. Type forwarding (in this case of the ExtensionAttribute type) is considered a non-breaking change, in the sense that it is transparent, in the supported scenarios, to the runtime, as well as our compilers. Compilers or compiler-like tools (which ILMerge is one of) are expected to support type forwarding, just like they are expected to support other features of the runtime. Furthermore, the supported way of running compilers is by explicitly and completely referencing the reference assemblies of the appropriate Multi-Targetting pack.

5

потому что Quartz.Net был скомпилирован на основе платформы 4.5. Взгляни наэта тема где проблема была сообщена. Доступна фиксированная версия dll.

Похожие вопросы