【发布时间】:2015-08-06 14:33:50
【问题描述】:
我维护一个面向 .NET 3.5 的 ASP.NET/VB.NET 网站。我曾经构建没有任何问题。突然间我开始遇到构建错误:
错误 BC30389:在此上下文中无法访问“i”,因为它是“朋友”
对于每个单字母 for 循环控制变量。例如:
For i = 0 To oDataTable.Columns.Count - 1
strHtml += "<td style='border : 1px solid black; font-size :13pt;'>" + oDataTable.Columns(i).ColumnName + "</td>"
Next
如果我将 var 名称从 'i' 更改为 'ii' 它会消失,但这不是一个选项,因为我们在这个站点的一百万个地方使用了类似的循环控制 var。我以前从未见过这种类型的错误。
这是我的编译器设置:
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="OptionInfer" value="true"/>
<providerOption name="WarnAsError" value="false"/>
</compiler>
我的工作站上唯一的新东西是我安装了 .NET 4.5.2。
任何帮助将不胜感激。
【问题讨论】:
-
听起来好像存在一个名为
i的 Friend 变量,它与您的循环变量冲突。如果您右键单击并选择Go to definition,也许您可以找到friend 变量。 -
您是否先调暗变量?如果没有,我建议你打开 Option Strict
标签: asp.net vb.net compilation