今天在对我运行的C#MVC站点进行了一些更改之后,我又回去做了一些修改并遇到了这个错误:
缺少编译器需要成员System.Runtime.CompilerServices.ExtensionAttribute..ctor
错误有点模糊(显然除了它的描述),因为它没有给我一个文件,行或列来引用,只有项目.此外,它总共抛出错误20次.在我部署的时间(当时完全正常运行)和现在之间,我只对代码进行了三次更改.我恢复了我的更改,它仍然抛出了同样的错误,这对我来说毫无意义.
我没有在SO或Google上找到关于此错误的大量信息,除了这个家伙解决方案和一些Mono项目错误(我没有使用Mono).上面给出的解决方案需要添加一个类定义,允许编译器解析引用.我并不特别想这样做,因为在此之前我不需要这样做,这会让我的代码变得混乱.
只是好奇,如果有人之前遇到过这个问题.提前致谢!
Mik*_*ike 200
在我的情况下,这是因为该项目没有引用Microsoft.CSharp.一旦我添加了对该程序集的引用,它就编译得很好.
H B*_*yce 79
我不知道是否有其他人经历过这个,但是我在使用dynamic类型添加一些代码并将WebAPI合并到一个源自VS2013中的TypeScript应用程序的项目后突然陷入此错误.只需添加对Microsoft.CSharp的引用即可解决我的问题.
希望这有助于其他人.
Bat*_*mer 17
我今天也遇到了这种情况.就我而言,我在.NET 4.0应用程序中引用了Newton.Json.Net dll v3.5.我意识到我甚至没有使用这个库,因此一旦我从我的引用中删除它,它就不再给我编译错误了.
问题解决了!!!
实际错误来自导致错误的2.0程序集包含此代码的事实:
namespace System.Runtime.CompilerServices
{
public class ExtensionAttribute : Attribute { }
}
Run Code Online (Sandbox Code Playgroud)
上面的代码允许.NET 2.0程序集使用扩展方法(请参阅在.NET 2.0中使用扩展方法?).虽然如果您以.NET 4.0为目标并引用2.0程序集(包含上面的代码),它会混淆编译器,因为mscorlib.dll(4.0)在同一名称空间中包含相同的类.
我修好了
小智 6
在项目中的某处编写此代码可能会解决您的问题.这个对我有用
namespace System.Runtime.CompilerServices
{
public class ExtensionAttribute : Attribute { }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
62001 次 |
| 最近记录: |