Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 从VS 2003升级到VS 2017的项目_.net_Vb.net_Visual Studio 2017_Upgrade_Visual Studio 2003 - Fatal编程技术网

.net 从VS 2003升级到VS 2017的项目

.net 从VS 2003升级到VS 2017的项目,.net,vb.net,visual-studio-2017,upgrade,visual-studio-2003,.net,Vb.net,Visual Studio 2017,Upgrade,Visual Studio 2003,我的任务是将一个VB项目从VS2003升级到VS2017。在尝试标准VisualStudio升级并收到许多问题后,我开始研究。事实证明,根据我的研究,最好的方法是在VS 2017中创建一个新项目,然后将旧项目中的所有文件复制到新项目中,然后解决错误 我这样做了,添加了必要的参考资料,改变了必要的途径,更让我懊恼的是,我收到了11118个错误。最大的错误总数为: At 7235错误代码:BC31429-“对象”不明确,因为 类“class”中存在多种具有此名称的成员 在2217错误代码:BC302

我的任务是将一个VB项目从VS2003升级到VS2017。在尝试标准VisualStudio升级并收到许多问题后,我开始研究。事实证明,根据我的研究,最好的方法是在VS 2017中创建一个新项目,然后将旧项目中的所有文件复制到新项目中,然后解决错误

我这样做了,添加了必要的参考资料,改变了必要的途径,更让我懊恼的是,我收到了11118个错误。最大的错误总数为:

  • At 7235错误代码:BC31429-“对象”不明确,因为 类“class”中存在多种具有此名称的成员

  • 在2217错误代码:BC30269-“function()”有多个定义 签名相同

  • 对我来说,这些错误表明了某种重复。然而,我自己还没有找到关于这个问题的任何东西。我对这个职业还是有点生疏,所以我可能错过了一些明显的东西

    我的问题是:我是否错过了一些明显的东西?我完成这个项目了吗?我应该如何着手解决这个问题

    谢谢

    编辑: 这些错误的一些例子

    code:BC31429

    Return Me.tableNotes
    
    返回错误,尽管其类中只有一个引用。 但是,在另一个类中有另一个同名类型的实例。两人都是私人的,所以我认为他们不应该互相干涉

    code:BC30269

    Public Sub New()
            MyBase.New
            Me.InitClass
            Dim schemaChangedHandler As System.ComponentModel.CollectionChangeEventHandler = AddressOf Me.SchemaChanged
            AddHandler Me.Tables.CollectionChanged, schemaChangedHandler
            AddHandler Me.Relations.CollectionChanged, schemaChangedHandler
        End Sub
    
        Protected Sub New(ByVal info As SerializationInfo, ByVal context As StreamingContext)
            MyBase.New
            Dim strSchema As String = CType(info.GetValue("XmlSchema", GetType(System.String)),String)
            If (Not (strSchema) Is Nothing) Then
                Dim ds As DataSet = New DataSet
                ds.ReadXmlSchema(New XmlTextReader(New System.IO.StringReader(strSchema)))
                If (Not (ds.Tables("Notes")) Is Nothing) Then
                    Me.Tables.Add(New NotesDataTable(ds.Tables("Notes")))
                End If
                Me.DataSetName = ds.DataSetName
                Me.Prefix = ds.Prefix
                Me.Namespace = ds.Namespace
                Me.Locale = ds.Locale
                Me.CaseSensitive = ds.CaseSensitive
                Me.EnforceConstraints = ds.EnforceConstraints
                Me.Merge(ds, false, System.Data.MissingSchemaAction.Add)
                Me.InitVars
            Else
                Me.InitClass
            End If
            Me.GetSerializationData(info, context)
            Dim schemaChangedHandler As System.ComponentModel.CollectionChangeEventHandler = AddressOf Me.SchemaChanged
            AddHandler Me.Tables.CollectionChanged, schemaChangedHandler
            AddHandler Me.Relations.CollectionChanged, schemaChangedHandler
        End Sub
    
        <System.Diagnostics.DebuggerStepThrough()>  _
        Public Class NotesDataTable
            Friend Sub New()
                MyBase.New("Notes")
                Me.InitClass
            End Sub
    
            Friend Sub New(ByVal table As DataTable)
                MyBase.New(table.TableName)
                If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
                    Me.CaseSensitive = table.CaseSensitive
                End If
                If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
                    Me.Locale = table.Locale
                End If
                If (table.Namespace <> table.DataSet.Namespace) Then
                    Me.Namespace = table.Namespace
                End If
                Me.Prefix = table.Prefix
                Me.MinimumCapacity = table.MinimumCapacity
                Me.DisplayExpression = table.DisplayExpression
            End Sub
        End Class
    
    Public Sub New()
    我的基地,新的
    我在上课
    Dim schemaChangedHandler作为System.ComponentModel.CollectionChangeEventHandler=AddressOf Me.SchemaChanged
    AddHandler Me.Tables.CollectionChanged,schemaChangedHandler
    AddHandler Me.Relations.CollectionChanged,schemaChangedHandler
    端接头
    受保护的子新建(ByVal信息作为SerializationInfo,ByVal上下文作为StreamingContext)
    我的基地,新的
    Dim strSchema As String=CType(info.GetValue(“XmlSchema”,GetType(System.String)),String)
    如果(不是(strSchema)什么都不是),那么
    Dim ds As数据集=新数据集
    ds.ReadXmlSchema(新的XmlTextReader(新的System.IO.StringReader(strSchema)))
    如果(不是(ds.表格(“注释”)什么都不是),那么
    Me.Tables.Add(新的notesdataable(ds.Tables(“Notes”))
    如果结束
    Me.DataSetName=ds.DataSetName
    Me.Prefix=ds.Prefix
    Me.Namespace=ds.Namespace
    Me.Locale=ds.Locale
    Me.CaseSensitive=ds.CaseSensitive
    Me.EnforceConstraints=ds.EnforceConstraints
    Merge(ds,false,System.Data.MissingSchemaAction.Add)
    我是伊尼瓦尔斯
    其他的
    我在上课
    如果结束
    Me.GetSerializationData(信息、上下文)
    Dim schemaChangedHandler作为System.ComponentModel.CollectionChangeEventHandler=AddressOf Me.SchemaChanged
    AddHandler Me.Tables.CollectionChanged,schemaChangedHandler
    AddHandler Me.Relations.CollectionChanged,schemaChangedHandler
    端接头
    _
    公共类NotesDataable
    新朋友
    MyBase.New(“注释”)
    我在上课
    端接头
    Friend Sub New(ByVal表作为DataTable)
    MyBase.New(table.TableName)
    如果(table.CaseSensitive table.DataSet.CaseSensitive),则
    Me.CaseSensitive=table.CaseSensitive
    如果结束
    如果(table.Locale.ToString table.DataSet.Locale.ToString),则
    Me.Locale=table.Locale
    如果结束
    如果是(table.Namespace table.DataSet.Namespace),则
    Me.Namespace=table.Namespace
    如果结束
    Me.Prefix=table.Prefix
    Me.MinimumCapacity=表1.MinimumCapacity
    Me.DisplayExpression=table.DisplayExpression
    端接头
    末级
    
    您正试图一下子跨越许多技术变化,无论是明确的还是微妙的。也许最好将升级分为几个步骤,首先尝试通过安装旧版本的VS从VS 2003时代升级到VS 2010时代。这可能会减少您最初遇到的错误数量,并允许您在进行后续升级(或升级)到VS 2017之前,先解决这些错误(并可能防止多代错误相互影响)。

    也许您可以提供一些生成这些错误的代码示例。我不确定这是不是真的,但是在2003年没有分部类,所有的设计器代码和表单的用户代码都在同一个文件中。您还没有得到设计器代码文件和用户代码文件中的设计器代码,是吗?您的目标.NET版本是什么?这可能和VS版本一样重要。由于您来自2003年,我假设源版本为1.1,因为在那些日子,.NET版本与VS版本绑定,但不再绑定。在我检查过的表单上,设计器代码位于.vbI的目标4.6.1I将尝试此操作。谢谢你的意见。事实上,我想说的是,被锁定的.NET版本可能会产生更大的潜在影响。e、 g.在转到4.x之前,尝试转到2.0或3.5。依我看,VS版本在整个IMHO上的问题会少一些。@ADyson我倾向于同意,但是我不确定.NET版本与很久以前的VS版本之间的关系有多紧密。通过在不同的技术“时代”(技术术语…)中移动,我的想法是,人们应该能够更好地利用工具、.NET、配置等将问题分解成更易于管理的部分。所有这些都是相对最新的。@JimMSDN使用了几乎所有曾经存在的VS版本,我可以告诉你,2002年是1.0,2003年是1.1。2005年至2.0,2008年至3.5。2010年稍微好一点,而且