Webforms 错误显示了两个项目,尽管解决方案显示了一个项目

问题描述

在 VS-2019 webforms 解决方案中,我收到此错误显示两个项目,尽管该解决方案只有一个项目。

enter image description here

严重性:错误
代码说明:BC30456“prpPageCaption”不是“MasterPage”的成员。
项目:7_SessionExpired.aspx、repo_TripManagement
文件C:\Users...\SessionExpired.aspx.vb
行:100
抑制状态:活动

似乎错误显示了两个项目,而我没有创建名为 7_SessionExpired.aspx

的项目

vb 页面“SessionExpired.aspx 和 .vb”是从 VS-2017 中的一个类似项目复制而来的。这让我很困惑,我无法知道这个错误在说什么。

这是源 VB 文件中的 LINE=100:

100|  |      Master.prpPageCaption = "Session has Expired"

这是母版页中的属性

Public Property prpPageCaption() As String
    Get
        Return Me.lblCaption.Text
    End Get
    Set(ByVal p_sCaption As String)
        Me.lblCaption.Text = p_sCaption
        Me.updpanelPageCaption.Update()
    End Set
End Property

vb 页面“SessionExpired.aspx 和 .vb”是从 VS-2017 中的一个类似项目复制而来的。这让我很困惑,我没有办法知道这个错误在说什么。我需要你的帮助。谢谢...约翰

解决方法

认为 IDE/VS-2019 很混乱,我剪切了 SessionExpired.aspx (.vb) 的所有文件并将它们粘贴到 my-documents-folder 中。 然后我在项目中添加了一个带有母版页 (WebForm1.aspx) 的 webform-page。 然后我添加了 ASPX 对象作为页面的 UI。我执行了“查看代码”选项并显示了 / VB 代码结构。我只添加了“Option Explicit ON”。保存修改后的文件并关闭解决方案。

然后我重新打开了解决方案并编译了代码——即使没有编写完整的 VB 功能。 在“解决方案资源管理器”中,我将 WebForm1.aspx 重命名为“SessionExpired”并再次编译——一切正常。

最后,我从保存的原始 SessionExpired.vb 代码中添加了 VB 代码。
上面显示的所有错误都已清除,一切正常。

恕我直言,引入较旧的网络表单会带来旧式的“设计器”,并且从符合 VS-2019 设计器模式的 VS-2019 网络表单页面开始。

我向那些看过这个问题的人道歉。 谢谢。约翰。