我下载了最新的Mono.Cecil,现在每当我启动项目时,它都会给我一个错误。如果我删除并添加mono.cecil,它就会消失。但每次打开我的项目时都会感到很痛苦。
答案 0 :(得分:4)
对于想要在内部使用扩展方法的所有.NET 2.0项目,这个问题是一个众所周知的问题,因此声明它们自己的内部System.Runtime.CompilerServices.ExtensionAttribute
来允许这个问题。
解决此问题有多种方法,如果您使用的是.NET 3.5或更高版本,只需编译Mono.Cecil并定义NET_3_5
或NET_4_0
即可。如果您的目标是.NET 2,那么您可能会很幸运,并且可以直接编译(这取决于一些编译器内部,绝对不是csc命令行或MSBuild)。如果没有,解决方法将从2.0 Cecil程序集中剥离该属性的所有出现(包括定义)(使用Cecil本身......)。
我有already done this,这不是什么大问题。但是我觉得您的问题与众不同,所以请提供有关您正在使用/定位的Mono版本和.NET版本的更多详细信息。
答案 1 :(得分:2)
我通过从项目中删除对“Mono.Cecil.dl”和“Mono.Reflection.dll”的引用来修复此错误。
这两个文件附带db4o v8.0 (an object database),并且似乎不需要db4o在Windows 7 x64 + .NET 4.0下以其基本的非优化模式运行。
答案 2 :(得分:0)
我也面临同样的问题。错误System.Runtime.CompilerServices.ExtensionAttribute..ctor
我在我的项目中使用Newtonsoft.Json.Net dll(reference)。我删除了对文件Newtonsoft.Json.Net20.dll的引用,并重新添加它。在此之后我的解决方案再次构建。
奇怪但真实......我的应用程序构建成功。
Error when using extension methods in C#
谢谢,