ASP.NET:找不到ICollection构造函数?

时间:2008-09-23 17:50:45

标签: c# asp.net

我有一个在远程Web服务器上运行的ASP.NET应用程序,我刚刚开始收到此错误。我似乎无法在我的开发环境中重现它:

Method not found: 'Void System.Collections.Generic.ICollection`1..ctor()'.

这可能是由于.NET Framework或IIS 6的一些配置错误造成的吗?

更新: 我反汇编了DLL中的代码,似乎编译器错误地优化了代码。 (注意,Set是一个实现一组唯一对象的类。它继承自IEnumerable。)这一行:

Set<int> set = new Set<int>();

编译成这一行:

Set<int> set = (Set<int>) new ICollection<CalendarModule>();

Calendar类是一个完全不相关的类!有没有人注意到.NET之前错误地编译了这样的代码?

3 个答案:

答案 0 :(得分:1)

两个系统上的.NET版本是否相同?相同的服务包?

答案 1 :(得分:0)

您的IIS设置是否使用.NET 2.0?如果没有,请将其更改为2.0。如果你在列表中看不到2.0,那么你需要从2.0框架目录运行aspnet_regiis。

答案 2 :(得分:0)

这是由aspnet合并工具中的错误引起的,该工具错误地合并了优化的程序集。它可以通过不合并程序集或不优化它们来解决。