Это странно.Я что-то изменил (не знаю, что именно), и теперь представление моего приложения не компилируется во время выполнения.
Само представление строго типизировано:
<%@ Page Language="C#"
MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<MyNamespace.OperatorModel>" %>
Когда я захожу на страницу, это не удаетсяскомпилировать, сказав:
CS1061: «объект» не содержит определения для «Журнала», и метод расширения «Журнал», принимающий первый аргумент типа «объект», не найден (выотсутствует директива using или ссылка на сборку?)
Довольно стандартная ошибка.Соответствующая строка исходного кода:
<%= Html.HiddenFor(model => model.Log) %>
Когда я смотрю на код, сгенерированный компилятором, я вижу, что базовый класс представления не является строго типизированным:
[System.Runtime.CompilerServices.CompilerGlobalScopeAttribute()]
public class views_operator_create_aspx
: global::System.Web.Mvc.ViewPage, // NOT STRONGLY TYPED
System.Web.SessionState.IRequiresSessionState,
System.Web.IHttpHandler {
Таку меня вопрос: что заставляет компилятор представления игнорировать мой атрибут Inherits
в определении представления?
Я должен указать, что другие представления на том же контроллере работают, и у них точно такое же объявление страницыкак я показал выше.
EDIT Кто-нибудь знает, где находится сгенерированный файл исходного кода, предполагая, что он где-то сохраняется?
EDIT Я нашел виновника (в моем ответе ниже), но я понятия не имею, почему это происходит.Если кто-то может объяснить, я буду признателен за это!