Mono.Cecil,Missing编译器需要成员’System.Runtime.CompilerServices.ExtensionAttribute..ctor’

我下载了最新的Mono.Cecil,现在每当我启动我的项目时,它都会给我错误。 如果我删除并添加mono.cecil,它就会消失。 但每次打开我的项目时都会感到痛苦。

对于想要在内部使用扩展方法的所有.NET 2.0项目,这个问题是一个众所周知的问题,因此声明它们自己的内部System.Runtime.CompilerServices.ExtensionAttribute以允许此问题。

有很多方法可以解决这个问题,如果您使用的是.NET 3.5或更高版本,只需编译Mono.Cecil并定义NET_3_5NET_4_0 。 如果您的目标是.NET 2,那么您可能会很幸运,并且可以直接编译(这取决于某些编译器内部,绝对不是csc命令行或MSBuild)。 如果没有,解决方法将从2.0 Cecil程序集中剥离该属性的所有出现(包括定义)(使用Cecil本身……)。

我已经这样做了 ,这不是什么大不了的事。 但是我觉得您的问题与众不同,因此请提供有关您正在使用/定位的Mono版本和.NET版本的更多详细信息。

我通过从我的项目中删除对“Mono.Cecil.dl”和“Mono.Reflection.dll”的引用来修复此错误。

这两个文件随db4o v8.0(对象数据库)一起提供,并且似乎不需要db4o在Windows 7 x64 + .NET 4.0下以其基本的非优化模式运行。

我也面临同样的问题。 错误System.Runtime.CompilerServices.ExtensionAttribute..ctor

我在我的项目中使用Newtonsoft.Json.Net dll(reference)。 我删除了对文件Newtonsoft.Json.Net20.dll的引用,并重新添加它。 在此之后我的解决方案再次构建

奇怪但真实……我的应用程序构建成功。

在C#中使用扩展方法时出错

谢谢,