Тип webform1 не определен - PullRequest
0 голосов
/ 27 октября 2019

У меня есть веб-форма asp.net.

Код:

Public Class WebForm1
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load


    End Sub

End Class

Разметка для страницы такая:

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm1.aspx.vb" 
Inherits="WebHotelDisplay.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
<form id="form1" runat="server">

    Hello
    <br />
    <br />

</form>
</body>
</html>

Когда я пытаюсьчтобы скомпилировать проект, я получаю следующее:

Ошибка BC30002 Тип 'Global.WebHotelDisplay.WebForm1' не определен.

Проект настроен на .net 4.5. Используя VS Community Edition 2019

Я не могу избавиться от этой ошибки компиляции

Редактировать

Если я попытаюсь предложить ниже (удалить квалификатор пространства имен), иизменить:

Inherits="WebHotelDisplay.WebForm1"

на:

Inherits="WebForm1"

Тогда ошибка компиляции НЕ УДАЕТСЯ. Однако, если я попытаюсь запустить приложение, мы получим эту ошибку:

Parser Error
Description: An error occurred during the parsing of a resource required to
service this request. Please review the following specific parse error details
and modify your source file appropriately.

Parser Error Message: Could not load type 'WebForm1'.

Source Error:

Line 1:  <%@ Page Language="vb" AutoEventWireup="false"
CodeBehind="WebForm1.aspx.vb" Inherits="WebForm1" %>
Line 2:  
Line 3:  <!DOCTYPE html>

Source File: /WebForm1.aspx    Line: 1

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET 
Version:4.8.4042.0

Я должен отметить, что если я открою проект в vs2013, то ошибка исчезнет.

Я будуТакже обратите внимание, что если я оставлю в квалификаторе пространства имен, то ошибка действительно отображается, но веб-страница работает. Итак, я вижу ошибку в vs2019, но приложение и веб-страница отображаются.

Edit 2

Если я изменю (по умолчанию) определение класса на Partial, как предложено, тоошибка уходит. Это возможный обходной путь, но если у вас много веб-страниц, то при использовании vs2019 это значительное количество редактирования и работы с совершенно хорошим кодом. Я не видел в Интернете ничего, что предлагало бы удалить пространство имен в разметке страницы, а затем изменить сгенерированный по умолчанию класс веб-формы на Partial. Пока что это единственное известное решение этой проблемы. Я должен отметить, что тот же проект (созданный в vs2019), если он открыт в vs2013, не имеет ни этой ошибки, ни этой проблемы.

Редактировать 3

После тестирования и пробовать все возможное, я переустановил vs2019, и проблема исчезла. Так что, возможно, некоторые настройки конфигурации были в vs2019, но я так и не смог найти реальное исправление. Тем не менее, переустановка vs2019 (версия для сообщества) была возможным исправлением. Я часто задаюсь вопросом, исправила ли бы это перезагрузка компьютера, так как повторная установка vs2019 потребовала перезагрузки. Несмотря на это, исправление в этот момент было переустановить vs2019.

...