我正在维护一些我没有编写的遗留代码,并且当前会产生很多警告。我正在尝试修复我触摸的文件中的警告,但它们并未全部报告:每个项目获得101个,然后是此问题标题中的消息。
作为测试,我创建了一个针对.NET 4.5.1的全新VB.Net Windows窗体应用程序,并将150个未使用的局部变量插入到Form_Load中。
只有前101个触发警告,然后我得到"超过警告的最大数量":
根据this question的答案,自Visual Studio 2012 / VB 11以来不应再有警告限制。
我使用Visual Studio 2013并且构建日志中的CoreCompile行表明它正在从MSBuild版本12调用vbc.exe
:
C:\Program Files (x86)\MSBuild\12.0\bin\Vbc.exe /noconfig /imports:Microsoft.VisualBasic,System,System.Collections,System.Collections.Generic,System.Data,System.Drawing,System.Diagnostics,System.Windows.Forms,System.Linq,System.Xml.Linq,System.Threading.Tasks /optioncompare:Binary /optionexplicit- /optionstrict+ /nowarn:42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 /optioninfer+ /nostdlib /platform:anycpu32bitpreferred /rootnamespace:WindowsApplication3 /sdkpath:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1" /highentropyva+ /doc:obj\Debug\WindowsApplication3.xml /define:"CONFIG=\"Debug\",DEBUG=-1,TRACE=-1,_MyType=\"WindowsForms\",PLATFORM=\"AnyCPU\"" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Core.dll","C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Data.DataSetExtensions.dll","C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Data.dll","C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Deployment.dll","C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.dll","C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Drawing.dll","C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Windows.Forms.dll","C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Xml.dll","C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Xml.Linq.dll" /main:WindowsApplication3.My.MyApplication /debug+ /debug:full /filealign:512 /out:obj\Debug\WindowsApplication3.exe /subsystemversion:6.00 /resource:obj\Debug\WindowsApplication3.Form1.resources /resource:obj\Debug\WindowsApplication3.Resources.resources /target:winexe Form1.vb Form1.Designer.vb "My Project\AssemblyInfo.vb" "My Project\Application.Designer.vb" "My Project\Resources.Designer.vb" "My Project\Settings.Designer.vb" "C:\Users\blorgbeard\AppData\Local\Temp\.NETFramework,Version=v4.5.1.AssemblyAttributes.vb"
编辑:我尝试手动运行上述内容(即从命令行调用vbc.exe
),但仍然只收到101个警告。
我也无法在Google上找到此错误消息的最新引用。
这让我怀疑我的本地配置有问题。
如何获取所有我的VB编译器警告列表?
答案 0 :(得分:2)
无限(命令行)错误! 这实际上是件好事,让我解释一下。出于性能原因,Visual Basic IDE最多出现101错误(错误#102为“超出最大错误数”。)这可能使得难以估计某些情况下的剩余工作量,特别是在升级方案中。我们已经从这个版本的命令行编译器中删除了这个限制,尽管它仍然存在于IDE中。这意味着如果你想确切知道项目有多少错误,只需通过msbuild.exe或vbc.exe调用编译器,你就会得到答案。
自: http://blogs.msdn.com/b/vbteam/archive/2012/02/28/visual-basic-11-beta-available-for-download.aspx
结论:您仍然可以从IDE获得限制。手动运行vbc.exe以使其无限制。
注意:最新的msbuild和vbc(版本12 - 随Visual Studio一起发布)似乎再次限制为101个警告。您必须使用以前版本的构建工具(版本11 - 随.Net框架一起分发)。
答案 1 :(得分:0)