Почему я получаю: "Ссылка на объект не установлена на экземпляр объекта". но ни одна строка кода не замешана?
Когда я пытаюсь построить свое решение VB.NET, я получаю сообщение об ошибке: "Ссылка на объект не установлена для экземпляра объекта". но в области списка ошибок столбцы File, Line, Column и Project пустые:
Как я могу решить проблему, если она не скажет мне, где она находится?
ОБНОВИТЬ
Я выбрал проект, затем "Показать диаграмму зависимостей проекта" и получил это:
Я не знаю, на что я смотрю.
ОБНОВЛЕНИЕ 2
Я не знаю, является ли это необычным или ожидаемым, но если я нажимаю F5, я получаю страницу в браузере ( http://localhost:2030/) без какой-либо ошибки msg; предоставлено, страница выглядит как Северная Дакота с самолета зимой.
ОБНОВЛЕНИЕ 3
Теперь (после исправления нескольких очевидных проблем, таких как неопределенные HTML-теги), он даже не скажет, что с Rebuild All все в порядке (улучшение сделало его "хуже").
И с Rebuild All, и с Build я получаю: " Ссылка на объект не установлена на экземпляр объекта ", но без указания того, где была найдена эта неустановленная ссылка на объект.
Еще страшнее, когда я запускаю Resharper > Inspect > Code Issues в Solution, среди прочего, есть 10 ошибок компилятора VB следующих двух типов:
Cannot resolve symbol '_GridName'
Cannot resolve symbol 'Class1'
Почему будут ошибки компилятора, и все же он все еще компилируется? Это становится все любопытнее и страннее.
В качестве представления о том, сколько предупреждений, ошибок и т. Д. Имеет этот проект, вот краткий обзор того, о чем Resharper tsk-tsks:
20 ошибок и тысяча других "проблем" - мне хочется написать песню кантри!
ОБНОВЛЕНИЕ 4
Когда я щелкаю правой кнопкой мыши по проекту и выбираю "View in Page Inspector", я вижу следующее:
Может ли это быть проблемой, и если да, то как мне убедиться, что сервер Dev работает на.NET 4.0 или более поздней версии?
Или это красная сельдь?
ОБНОВЛЕНИЕ 5
Теперь есть Предупреждение, которое может пролить некоторый свет здесь:
C: \ MemberOrderEntry \ MembersOrderEntry \ MembersOrderEntry \ Weyand \ Default.aspx: ошибка времени выполнения ASP.NET: для ссылки на объект не задан экземпляр объекта.
Это строка кода, которая подразумевает предупреждение:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="Weyand._Default" title="Web Order Entry" %>
Весь файл Default.aspx:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="Weyand._Default" title="Web Order Entry" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Order Entry Login Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
Другое предупреждение: " Проверка (XHTML 1.0 Transitional): элемент" страница "не поддерживается. C: \ MemberOrderEntry \ MembersOrderEntry \ MembersOrderEntry \ Weyand \ Default.aspx"
Означает ли это что-нибудь / имеет смысл для кого-либо? Что нужно там удалить или изменить?
Есть много других файлов с таким же точным кодом:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="Vinyard._Default" title="Web Order Entry" %>
(за исключением того, что у них есть "Vinyard" или что-то еще вместо "Weyand"); так почему же они не получили несколько предупреждений об одной и той же вещи, а не только об этом?
UDPATE 6
Тогда ладно! (arghh) Если я разверну эти файлы в обозревателе решений, они выдают предупреждения. С чего бы это? Компилятор не замечает htem, если они не раскрыты в Solution Explorer? Это бессмысленно...
UDPATE 7
Является ли "элемент" страница "не поддерживается" корень проблемы?
После раскрытия трех папок я вижу:
"Страница" выглядит так:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="Vinyard._Default" title="Web Order Entry" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Кажется, что каждая "страница" проблематична; и для каждого из них, возможно, имеется соответствующее предупреждение об ошибке "ASP.NET runtime: Object ref not set" - что может быть причиной ошибки того же типа.
Если элемент "Страница" является проблемой / a, то как ее исправить?
Если я просто уберу это, вот так:
<%@Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="Vinyard._Default" title="Web Order Entry" %>
... тогда я получаю, "Элемент" не поддерживается. Это не просто Catch-22, потому что гораздо больше ошибок выявляется, чем когда все расширяется.
ОБНОВЛЕНИЕ 8
Ошибки заставляют меня задуматься: что означает директива Inherits? У меня есть такие как:
Inherits="CapitolCity._Default"
В более широком контексте они появляются в файлах Default.aspx примерно так:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="CapitolCity._Default" title="Web Order Entry" %>
Там нет ни одного файла "CapitolCity._Default", который я могу видеть (который, очевидно, предположительно является тем, что "наследуется"). Что здесь наследуется или пытается быть унаследованным?
В этом случае файл со строкой выше - Default.aspx, расположенный ниже / в папке \\CapitolCity. Под ним находится файл Default.aspx.vb.
Существует файл \\Default.aspx с файлом Default.aspx.vb. Первый:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" title="Web Order Entry" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
Есть ли что-то не так с этим, и если нет, что может быть причиной этой гигантской головной боли?
1 ответ
Это была невероятно странная проблема, но так как там она была решена, она могла бы также получить ответ.
Я думаю, что это ошибка в файлах.suo, так как в последнее время мой VS вел себя странно, мои программы внезапно начали аварийно завершать работу, не собираясь и говоря, что ссылки Office были недействительными.
Одним из исправлений, которые я пробовал, была очистка и повторное построение решения, которое работало примерно в 1/4 раза, в другое время мне приходилось физически удалять и снова добавлять ссылки, а затем перестраивать все решение.
После того, как мне это надоело в течение недели или около того, я просто создал резервную копию в другом месте на нашем рабочем сервере, удалив файлы.suo в новой папке, а затем открыл и собрал все решение.
Это исправило это. Не знаю, почему или что пошло не так, но время от времени в файлах и ссылках.suo происходят странные вещи.