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