use*_*468 2 vb.net visual-studio-2010
我已经尝试了几种方法来找到解决这个问题的方法,并且空白了.因此这个帖子.我正在使用visual studio 2010并使用VB构建应用程序,当我运行(调试)时,我收到以下错误.
数据集"DataSet1"中的字段名称为"发票地址".字段名称必须是符合CLS的标识符.
其中有很多指向数据集,坦率地说,我不确定如何解决它.我<Assembly: CLSCompliant(False)>在AssemblyInfo.vb中使用过:但仍然出现错误.我在某处读到这行将被放入AssemblyInfo.cs文件中.我没有其中之一.任何有关这方面的帮助将不胜感激.谢谢
该CLSCompliant不会在这种情况下工作.问题是字段名称Invoice address包含空格,因此标识符不符合CLS(为什么此名称带有下划线而不符合CLS?).
问题中未说明上下文,但此错误通常发生在RDK报告中.
报表设计器通过重命名字段来解决问题
<Field name="non_CLS_Compliant_Name">
<DataField>non CLS Compliant Name</DataField>
</Field>
Run Code Online (Sandbox Code Playgroud)
在代码中,您应该用下划线(_)替换名称中的所有不符合要求的字符,并在开头添加ID以解决第一个字符的问题
Dim RgxGlobal As New System.Text.RegularExpressions.Regex("[^\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\p{Cf}]")
Dim RgxStart As New System.Text.RegularExpressions.Regex("\A[^\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}]")
Dim NewFieldName As String = RgxGlobal.Replace(ColName, "_")
If RgxStart.IsMatch(NewFieldName) Then NewFieldName = "ID" & NewFieldName
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10514 次 |
| 最近记录: |