Após refatoração significativa no meu aplicativo MVC 4, o Razor mostra esse erro ao depurar o Views:
O nome 'modelo' não existe no contexto atual.
Esta é a linha de código incorreta:
@model ICollection<DataSourceByActive>
Eu sei que o uso de @model
está correto.
Por que isso está acontecendo? Como posso corrigir isso?
asp.net-mvc
asp.net-mvc-4
razor
Kehlan Krumme
fonte
fonte
Respostas:
Acho que você estragou o arquivo web.config que fica na pasta Views.
Crie um novo projeto direcionado para a mesma estrutura .NET e copie o arquivo Views / web.config na parte superior do projeto atual. Isso resolverá o seu problema.
Além disso, como Dudeman3000 comentou, se você tiver Áreas no seu projeto MVC, todas elas
Views\web.config
também terão arquivos.fonte
This will fix your problem.
Isso não aconteceu.Verifique se você tem o seguinte no site
Web.config
eWeb.config
no diretório de visualizações naappSettings
seçãoPara uso do MVC5:
(E existe apenas no
Web.config
arquivo principal .)fonte
3.0.0.0
. (E existe apenas no arquivo Web.config principal .)2.0.0.0
vez de3.0.0.0
. Mudar isso resolveu o problema. Obrigado!Aqui está o que eu fiz:
O arquivo .suo é um arquivo oculto na mesma pasta que o arquivo de solução .svn e contém as Opções do Usuário do Visual Studio.
fonte
web.config
arquivo para oASP.NET Core
aplicativo, então isso funcionou para mim (também adicionamos algumas extensões para melhorar o intellisense)..vs
pasta ajudou.Eu tive o mesmo problema, criei um novo projeto e copiei os arquivos web.config conforme recomendado na resposta de Gupta, mas isso não corrigiu as coisas para mim. Eu verifiquei a resposta de Alex e Liam, achei que essa linha deveria ter sido copiada do novo web.config, mas parece que o novo projeto em si não tinha essa linha (MVC5):
Adicionar a linha ao arquivo views / web.config resolveu o problema para mim.
fonte
Alterar a linha a seguir no web.config da pasta view resolveu o mesmo erro.
De
Para
fonte
System.Web.Mvc
referência de montagem para confirmar a versão principal necessária.No meu caso, atualizei recentemente do MVC 4 para o MVC 5, o que prejudica bastante o web.config. Este artigo ajudou tremendamente.
http://www.asp.net/mvc/overview/releases/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web- api-2
A conclusão é que você precisa verificar todas as suas referências de número de versão em seu web.config e Views / web.config para garantir que eles estejam referenciando as versões atualizadas corretas associadas ao MVC 5.
fonte
Alterar para @Modelo de @model fez o trabalho para mim.
@model representa o tipo de objeto View Model. @Model representa o objeto View Model.
fonte
Eu encontrei uma solução. Se você deseja atualizar a versão razor ou o mvc 4 para 5, altere algumas linhas.
Código antigo em Views / web.config
Substituído por
sectionGroup
deve ser mudança também.fonte
No meu caso, o código a seguir se mostra útil. Coloque o código abaixo no arquivo Web.config na pasta Views.
Depois que o código for atualizado, limpe e reconstrua a solução. Eu espero que isso te ajude!
fonte
Nenhuma das respostas existentes funcionou para mim, mas descobri o que funcionou para mim comparando os
.csproj
arquivos de diferentes projetos. A edição manual a seguir no.csproj
arquivo XML resolveu o problema do Razor-intellisense para mim, talvez isso possa ajudar alguém que tentou todas as outras respostas sem sucesso. Key é remover todas as instâncias do<Private>False</Private>
no<Reference>
's:Não sei como as pessoas chegaram lá ou exatamente o que fazem, talvez alguém mais inteligente que eu possa adicionar essas informações. Fiquei feliz em finalmente resolver esse problema.
fonte
Por alguma razão, meu web.config tinha 0.0.0.0 no atributo oldVersion:
mudar para 1.0.0.0 foi a solução:
fonte
Eu estava usando um projeto MVC4 com o Visual Studio 2019 - e o VS 2019 não suporta MVC 4 pronto para uso. Você precisa instalar isso.
Passos:
NOTA: Necessário para o fechamento do visual studio
fonte
No meu caso, o problema era que, depois de atualizar o projeto do MVC 4 para o MVC 5, perdi de alguma forma uma alteração de versão no Views / web.config:
Ainda tinha a versão antiga 2.0.0.0. Depois de alterar a versão para 3.0.0.0, tudo começou a funcionar corretamente.
Além disso, devido a esse problema, o Visual Studio 2015 Community Edition começava a bloquear a CPU (uso de 30 a 40% no modo inativo) toda vez que eu abria um arquivo .cshtml.
fonte
Eu tive o mesmo problema ao implantar em um Serviço de Aplicativo do Azure
No meu caso, foi porque ~ / Views / Web.config não foi incluído no projeto.
Funcionou no IIS Express, mas quando implantei no azure, recebi o mesmo erro. Por não ser incluído no arquivo .csproj, ele não foi implantado.
A solução foi garantir que ~ / Views / Web.config esteja incluído no projeto.
Se você for ao Solution Explorer e clicar no ícone "Mostrar todos os arquivos", abra o Views e poderá ver um arquivo Web.config não incluído lá.
Adicione, publique novamente e Bob é seu tio.
fonte
Para mim, o problema era uma versão .NET conflitante em uma das bibliotecas que eu recentemente importei. A biblioteca que eu importei foi compilada para 4.5.2 e o site ASP.NET MVC que eu importei para o 4.5 direcionado. Depois de recompilar a lib para 4.5, o site seria compilado.
Além disso, não houve erros de compilação, mas o problema estava sendo relatado como um "aviso". Portanto, não deixe de ler todos os avisos, se houver algum.
fonte
Para resolver isso, certifiquei-me de atualizar para a versão mais recente do MVC usando o NuGet e o Console do Gerenciador de Pacotes.
Pacote de instalação Microsoft.AspNet.Mvc -Version 5.2.4
Em seguida, atualizado para a versão mais recente do Razor
Pacote de instalação Microsoft.AspNet.Razor -Version 3.2.4
Então mudei todos os arquivos web.config para refletir a alteração. Como você verá abaixo:
No arquivo web.config principal, verifique se as páginas da web: version estão corretas. É aqui que ele pode ser encontrado (ignore as outras chaves):
Em seguida, procure as outras versões listadas nas montagens, verifique a versão da montagem com a versão da biblioteca listada nas referências do seu projeto! Você pode não precisar de tudo isso.
O tempo de execução assemblyBinding deve mostrar a "nova versão" também, veja onde se lê NewVersion 5.2.4.0? Mas também verifique todas as outras versões.
ENTÃO, na seção Views Web.Config, verifique se o Razor é a versão correta:
E Lastlt, há a seção Páginas do Views Web.Config
fonte
se você resolver esse problema sem nenhuma alteração no seu projeto como eu, precisará alterar o seu web.config que foi colocado na pasta View. basta escrever uma nova linha digitando ou Remover uma linha vazia. então salve seu web.config e reconstrua. meu problema resolvido com esta solução
fonte
Eu estava tentando adicionar uma exibição que estava fora da minha pasta "Views" (apenas para organizar meu código de forma diferente, eu acho), quando tive esse problema. A criação da visualização dentro de Views (como por convenção) a resolveu.
fonte
No meu caso, estava faltando @ no início do foreach
fonte
No meu caso, removi o arquivo web.config da pasta Views por acidente. Eu adicionei de volta e estava tudo bem.
fonte
Resolvi o problema usando em
@Model
vez de apenasmodel
ao imprimir as variáveis.fonte
É provável que você use no código uma variável chamada
model
.fonte