一段时间以来,我一直在使用扩展方法来扩展现有类的功能.一个例子:
<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个错误.
我的问题是,在创建这些扩展方法时是否有任何遗漏,或者是否有任何可以阻止这些错误发生的事情?

一段时间以来,我一直试图运行一个工作项目,并收到以下错误.再次单击运行可以正确构建项目并允许我运行.使用TFS我现在已经检查了我的工作,其他同事已经复制了,现在他们的Visual Studio版本完全一样.
写入的MSBuild_*failure.txt在哪里(或者他们)似乎无法在我们的机器上找到它?
更好的是有一个已知的解决方案来阻止这种行为吗?
该解决方案包含6个项目,全部用VB.net编写,有些项目是类库的一些windows应用程序.

有人可以向我解释上面是如何产生警告的.
在被问到之前应该注意,$ me变量没有在函数调用之外定义.当然,$ me的范围应该在"if"语句的末尾结束.
我觉得我在这里遗漏了一些明显的东西,但不能完全指责它.