Переданный Modeltype членов IEnumerable (of T) не распознается на страницах Razor - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть проект MVC 5, который я создал в более старой версии Visual Studio и открыл в VS2019. Это соответствует, но мои страницы просмотра видят ошибки от Модели, которая является IEnumerable (из T). Например, If Model.Count > 0 Then говорит мне, что «Count» не является членом IEnumerable (of T). Кроме того, Model.FirstorDefault выдает ту же ошибку. Я пытался обновить пакеты в NuGet, но безуспешно. Что мне здесь не хватает? Это полностью действующий и работающий проект перед открытием в VS2019.

Я сократил код только до рассматриваемой модели

Репо:

Public Function GetFilesByTagID(ByVal tagID As Integer) As IEnumerable(Of File)
        Dim Files As IEnumerable(Of File)
        Files = From p In archiveDB.Files
                Where p.Tags.Any(Function(t) t.TagID = tagID)
                Select p

        Return Files
    End Function

Контроллер:

Private ar As New ArchiveRepository
Function Index(ByVal tagID As Integer) as ActionResult       
   Return View(ar.GetFilesByTagID(tagID))
End Function

Страница бритвы:

@Modeltype IEnumerable(Of Intranet.File)
<h2>
    Archives
    @If Model IsNot Nothing Then
    If Model.Count > 0 Then
            @<small>
                @Model.FirstOrDefault.Tags.Where(Function(t) t.TagID = CInt(Request.QueryString("tagID"))).FirstOrDefault.Name
            </small>
        End If
    End If
</h2>

1 Ответ

1 голос
/ 06 февраля 2020

Решил, запустив Visual Studio от имени администратора. Спасибо Windows 10. Кто-нибудь может объяснить, почему это проблема для существующего проекта, а не для нового?

...