Почему Visual Studio не сказала мне, что ошибка была в представлении? - PullRequest
2 голосов
/ 19 августа 2011

Я сделал что-то немного глупое - я создал новый проект и назвал его «Каталог», не понимая и забывая, что это было язык / зарезервированное слово.

В любом случае, мой дизайн был кратким иприступил к работе.

Через несколько часов я впервые начал собираться, и он работал нормально.Затем я пошел бежать, и это не сработало.

(В этот момент я включил View Compiling)

Пытаясь понять ошибку, я понял, почему она не работает, и пошел переименовывать местами.

Я изменил имя проекта и решения с Directory на WebDirectory и изменил все ссылки, где я мог его видеть.

Но проект просто не скомпилировался, и он дал мне эти ошибки:

enter image description here

Зайдя в этот файл и попытавшись немного лучше его понять, я увидел, что пропустил переименование нескольких представлений.В тот момент, когда я открываю эти представления, я получаю следующие ошибки:

enter image description here

Теперь, если бы у меня были эти ошибки сразу, мне было бы намного легче увидеть ихчто / где ошибка.

У меня включен Compile Views, и я предполагаю, что первое изображение - это ошибка, отображаемая в скомпилированном представлении, но почему на самом деле ошибка не отображается в представлении, на что он более чем способен (см. второе изображение), что было бы намного более полезным / полезным, чем первое, поскольку я даже не могу их изменить!?

(Бонусные баллы / не стоитотдельный вопрос, если кто-то может сказать мне, безопасно ли переименовывать папки, в которых находится проект, теперь, когда я переименовал проект / решение из VS)

1 Ответ

1 голос
/ 20 августа 2011

Вероятно, это связано с тем, что движок Razor, хотя и очень хорошо интегрированный в VS, не является неотъемлемой частью IDE.Помните, что MVC является дополнительной библиотекой.

Файлы CS, которые вы видели на первом скриншоте, вероятно, сгенерированы CS из-за включения «Скомпилированных представлений».Пока вы не включили Compiled Views, эти файлы просто не существовали.Включение скомпилированных представлений создало их и привело к ошибке компиляции (файлы .cshtml не компилируются до тех пор, пока вы не посетите страницу, и, следовательно, не квалифицируются как ошибки компиляции).

Второй снимок экрана сделан при открытии файлов cshtml., что позволяет Razor компилировать оценивать их и показывать ошибки "псевдо-компиляции".Попытка бритвы скомпилировать все файлы .cshtml в проекте во время компиляции (в отличие от времени просмотра страниц), вероятно, в лучшем случае очень трудна, а в худшем семантически невозможна.

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