Extension Method不是Class的成员

Mat*_*don 11 vb.net compiler-errors visual-studio-2010

一段时间以来,我一直在使用扩展方法来扩展现有类的功能.一个例子:

<System.Runtime.CompilerServices.Extension()> _
Public Sub DrawRoundedRectangle(graphics As Graphics, pen As Pen, x As Single, y As Single, width As Single, height As Single, radius As Single)
    graphics.DrawRoundedRectangle(pen, x, y, width, height, radius, RectangleEdgeFilter.All)
End Sub
Run Code Online (Sandbox Code Playgroud)

这愉快地扩展了图形对象,以便我可以调用: e.graphics.DrawRoundedRectangle()

但是Visual Studio每隔一段时间就会报告:

DrawRoundedRectangle不是System.Drawing.Graphics的成员

这意味着由于错误我无法构建,除了重新启动Visual Studio(耗时)之外,我还没有找到克服这些错误的方法.

我在各种不同的类上有很多扩展方法(目前大约10个),所有这些方法都同时出现,这会产生66个错误.

我的问题是,在创建这些扩展方法时是否有任何遗漏,或者是否有任何可以阻止这些错误发生的事情?

Ame*_*gon 5

您是否在公共模块中定义了扩展?试图'重建解决方案',它是否解决了这个问题?