2015-12-02 50 views
11

更新从VS 2015年更新1 RCVS 2015年更新1,我不断收到以下错误消息后:的Visual Studio 2015年分析器抛出异常

分析 “Microsoft.CodeAnalysis.VisualBasic .CodeFixes.SimplifyTypeNames.VisualBasicSimplifyTypeNamesDiagnosticAnalyzer“ 投掷类型的异常‘System.ArgumentNullException’与消息 ”值不能为空。参数名:源”

在我的项目之一。 代码分析在该项目中被禁用(因为它在解决方案中的所有项目中),所以我试图打开它,但仍然是同样的问题。

看来,我仍然可以构建和运行我的解决办法,但事情并没有真正似乎在升级后正常工作:

  • 一切运行进行修改和建设之后很慢
  • 不适用更改

是否有其他人在最近的更新或甚至之前有此问题?

潜在解决方法发现在这里:https://github.com/dotnet/roslyn/issues/6682由用户发布dpoeschl

这是他的原文:

解决方法:选中此复选框:工具|选项|文本编辑器|基本的 |代码样式|有资格与“Me”成员访问

dpoeschl's solution

这种解决方法有两个副作用(即我能想到的至今):

您将不再获得视觉指示多余的Me。或相关的代码修复,或“修复所有发生在”选项 容易达到合规性。

2.产生完全合格的成员访问并依赖于简化器的任何代码生成功能删除他们,如果合适 (或明确选中此选项)现在默认生成的不符合规定的 代码。

在VS2015 & VS2015更新1中启用此选项是非侵入性的,因为此选项仅在一个方向上强制执行。 也就是说,未选中复选框意味着分析器运行, 进行了一些更深层的分析(在这种情况下失败),并且当您具有合格的成员访问权限时为您提供 灯泡,而检查复选框 意味着我们选择退出更早的深入分析 ,你没有任何灯泡告诉你添加我。资格。

它已经为我工作,它可能会为他人解决问题。

+0

我还没有注意到那个,但我已经注意到很多其他“小”的东西,似乎已经在此更新中被打破,以至于我做了一个完整的卸载并重新安装,希望那可以解决这个问题。陪审团仍然没有确定它是否存在。 –

+0

在更新之前,我遇到了各种各样的问题,所以我希望这是要解决一些问题,它确实修复了一些问题,但我已经结束了与其他人:( – mrc

+0

相信我,我觉得你的疼痛,这是怎么一回事,通过质量保证我永远不知道。 –

回答

0

2016年3月30日,微软发布了针对Visual Studio的新更新。

安装Visual Studio Update 2后,问题似乎消失了。这是VS Update 2VS Update 2 Release Notes

检查发行说明,这是他们与问候到分析仪感动的唯一的事:

我们做了分析API改进,包括使分析仪的作家,以纪念他们的分析仪并发执行,并提供对分析器是否在生成的代码中运行的控制。

3

更新:

显然,一般的问题是使用类名时,代码助手气馁地共享类类型的呼叫。

MyBase.SynchronizingObject = value 

代替

SynchronizingObject = value 

例如

Private Shared Property Instance as Class1 

Public Shared Function DefInstance1() as Class1 
    ' This causes the warning 
    Return Class1.Instance 
End Function 

Public Shared Function DefInstance2() as Class1 
    ' This is okay 
    Return Instance 
End Function 

例如,我从System.Timers.Timer继承当分配一个值到同步对象VS Code Assistant检测到这是一个可以简化的类型名称。

另请注意,每次VS启动时都会添加一条新警告。

更新:

它看起来像另一个罪魁祸首是在Application.Designer.vb由Visual Studio生成的代码:

Global.Microsoft.VisualBasic.ApplicationServices 

被标记为简化,

ApplicationServices 

看来Code Assistant已经变得有点过分了,在没有质量保证的情况下,可以随时查看问题。

+0

找到一个从系统,Timers.Timer继承的类中的罪魁祸首我设置类SynchronizingObject: – David

相关问题