Сайт Visual Studio - много случайных ошибок, но все еще строит? - PullRequest
8 голосов
/ 12 мая 2011

У меня есть сайт ASP.NET, написанный кем-то недавно, я не думаю, что они использовали VS для создания своих сайтов, но, к сожалению, я не уверен, что они использовали.

Я открываю как веб-сайт и строю .. без ошибок.

Как только я открываю любую из страниц или классов, intellisense стонет почти обо всем, начиная с

Ошибка 25 Оператор не может появляться вне тела метода / многострочного лямбда-выражения.

в операторах using, но буквально ошибки на каждой строке. Но все равно строит нормально.

Есть идеи, как мне это решить? Я все еще могу создать сайт, но если я сделаю какие-либо реальные ошибки, я не могу сказать, откуда они появились, а также у меня нет смысла.

Edit-- пример, если я открою один из самых простых файлов на сайте.

using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class About : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {
        Master.bodyClass = "about"; 
    }

}

Список ошибок идет прямо к 71 ошибкам в одном файле.

Error   26  Syntax error.   PATH\about.aspx 1   PATH\   1
Error   27  Syntax error.   PATH\about.aspx 1       PATH\   1
Error   28  Syntax error.   PATH\about.aspx 1   PATH\   1
Error   29  'Class' statement must end with a matching 'End Class'. PATH\about.aspx 1   PATH\   1
Error   30  Declaration expected.   PATH\about.aspx 1   PATH\   1
Error   31  Bracketed identifier is missing closing ']'.    PATH\about.aspx 1   PATH\   1
Error   33  End of statement expected.  PATH\about.aspx 1   PATH\   1
Error   34  Syntax error.   PATH\about.aspx 1   PATH\   1

(чтобы включить первые 8 ошибок, были изменены удаленные имя / путь проекта)

Он все равно будет работать правильно (ошибки, похоже, не мешают компилятору), но с ним очень трудно работать.

РЕДАКТИРОВАТЬ -

строка 1 файла aspx

<%@ Page MasterPageFile="~/master.master" CodeFile="index.aspx.cs" Inherits="About" %>

Ответы [ 10 ]

14 голосов
/ 12 мая 2011

Visual Studio считает, что ваши ASPX-файлы - это VB.Net, а не C #.

Изменение языка по умолчанию в Web.config (<compilation defaultLanguage="C#">).

3 голосов
/ 16 декабря 2011

Была такая же проблема.Ни одно из решений здесь не сработало для меня.Мой язык уже был установлен на C # в файле ASPX и web.config.

Решение в моем случае заключалось в том, чтобы исключить файлы ASPX и code-behind, а затем скомпилировать проект - VS жалуется на отсутствиеfile!

Затем включение файлов обратно решило проблему.

1 голос
/ 30 декабря 2014

Старый поток, но ни одно из вышеперечисленных решений не помогло мне, поскольку оно сохранилось. Мое исправление состояло в том, чтобы полностью исключить файл aspx из проекта и включить его снова. Не знаю, почему ни одно из вышеперечисленных предложений не сработало, но Intellisense, похоже, снова счастлив.

В качестве дополнительного примечания: если это решение было предпринято кем-либо, убедитесь, что вы отметили Show All Files в Solution Explorer, в противном случае ваш файл будет скрыт после исключения.

1 голос
/ 26 сентября 2011

Чтобы пойти дальше, убедитесь, что в вашем файле .aspx код начинается с "<% @ Page Language =" C # "..". Эта манипуляция была описана в ответе, но я заметил, что она не работает <strong>ЕСЛИ СТРАНИЦА НАЧИНАЕТСЯ С ЛИГАМИ КОММЕНТАРИИ! Visual Studio 2010 не проверяет, является ли текст перед объявлением "<% @ Страница /> "является комментарием или нет.

Пример:

<%--<asp:Label Text="This is a comment"></asp:Label>--%>
<%@ Page Language="C#" ... %>

В этом примере VS 2010 считает, что страница начинается не с объявления страницы, а с объявления метки, поэтому код C # не распознается ...

0 голосов
/ 12 ноября 2016

У меня была та же проблема, и Visual Studio предлагает закрыть и заново открыть этот файл. Закройте и снова откройте исправленные проблемы для меня. Я понятия не имею, почему? !! : - \

0 голосов
/ 14 июля 2015

Я знаю, что уже слишком поздно, чтобы ответить, но, возможно, кто-то ищет ответ.У меня была та же проблема, и в МОЕМ случае это работает, поэтому первые строки:

<%@ Page Language="C#" AutoEventWireUp="True" CodeBehind="reservas.aspx.cs" Inherits="CapaWeb.reservas"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- saved from url=(0014)about:internet -->
<html>
<head runat="server">

Я должен был обеспечить первую (и я думаю, наиболее важную) строку и "runat = server"

Также после добавления этих строк я закрыл все классы.Восстановите решение, и ошибка исчезла.

0 голосов
/ 18 сентября 2014

Проблема была вызвана копированием и вставкой .aspx xml кода. Вы можете исключить проблемные файлы из всего проекта. Затем добавьте их обратно, проблема будет исправлена.

0 голосов
/ 21 мая 2012

Я столкнулся с той же проблемой. Я столкнулся с проблемой, когда скопировал код .aspx и вставил его в одну «тестовую страницу», которую я использовал для справки, которая по ошибке была включена в мой проект. Я удалил содержимое этой тестовой страницы. Intellisense начал работать нормально. Проверьте в своем проекте, было ли содержимое aspx скопировано в другом месте. Это должно решить вашу проблему.

0 голосов
/ 12 мая 2011

В общем, но обычно, когда я сталкиваюсь с такими ошибками, я проверяю, чтобы убедиться, что, если я ссылаюсь на какие-либо другие проекты, каждый проект находится в той же целевой среде.Вы можете проверить это, нажав Alt + Enter для проекта в VS и проверив целевой фреймворк.

0 голосов
/ 12 мая 2011

Если это веб-сайт ASP.Net WebForms, то разметка в .aspx и .ascx компилируется только во время выполнения.

Чтобы скомпилировать разметку, используйте aspnet_compiler . (см. также этот вопрос )

Обновление Re: строка 1 файла aspx

<%@ Page MasterPageFile="~/master.master" CodeFile="index.aspx.cs" Inherits="Home" %>

Итак, файл называется about.aspx, код - index.aspx.cs, а имя класса страницы - Home ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...