Estou começando a desenvolver em ASP.NET novamente e encontrei um pequeno erro no Visual Studio. Meus arquivos .cshtml mostram erros ao usar algumas funções de navalha. Por exemplo, "O nome 'ViewBag' não existe no contexto atual". Aqui está uma foto:
Estou usando um projeto de demonstração. Você pode encontrar o projeto aqui: https://github.com/Wintellect/Angular-MVC-Cookbook/tree/master/BasicProject
Eu examinei vários outros tópicos e muitos sugerem atualizar o (s) arquivo (s) web.config. Esses 2 arquivos de configuração já estão presentes e, como é uma demonstração muito popular, presumo que tenha toda a configuração necessária. É claro que examinei esses arquivos de configuração e eles realmente incluem as soluções sugeridas.
Outros detalhes:
- Já usei limpar e reconstruir na solução, mas isso não mudou nada.
- Quando eu crio um projeto MVC completamente novo, ele funciona
- Meu amigo tem o mesmo problema e nós dois usamos o VS 2015 e o Windows 10
- Ainda consigo executar o aplicativo e ele funciona.
Desde já, obrigado.
fonte
Respostas:
Tive esse problema apesar de ter todas as configurações corretas.
Descobriu-se que havia alguns arquivos ruins no Cache de Componente, impedindo as visualizações do Razor de reconhecer ViewBag, Model e HtmlHelpers . Excluir esses arquivos resolveu o problema (boas versões desses arquivos foram criadas na próxima vez que abri o Visual Studio).
Os arquivos estão localizados aqui:
Exclua todos os quatro arquivos:
Posteriormente, vi o mesmo problema em várias outras máquinas de desenvolvedor e essa correção resolve rapidamente.
fonte
Atualize os números da versão nas configurações do
web.config
arquivo na pasta Views.Se você atualizou a versão MVC através do nuget, deve ser:
Outras versões de dependência também podem precisar ser atualizadas. Problemas de compilação e espaço de nomes em Views para auxiliares e objetos MVC estão geralmente relacionados a
web.config
arquivos bagunçados dentro das pastas View.fonte
4.0.0.0
, pude ver nas propriedades. Qual deve ser a solução no meu caso?*.cshtml
e*.vbhtml
arquivos e limpo e recriar a solução. VS 2019 16.1.2Encontre "páginas da web: Versão" nas configurações do aplicativo e atualize-o para a versão 3.0.0.0. Meu web.config tinha
e eu atualizei para
fonte
Temporary ASP.NET Files
) não ajudou, mas essa resposta ajudou .Eu acidentalmente removi
web.config
daViews
pasta, pensando que era desnecessário. Quando o coloquei de volta, ele começou a funcionar.fonte
Depois de tentar tudo sob o sol, verifica-se algo tinha modificado o meu
System.Web.WebPages.Razor
<sectionGroup>
na/Views/Web.Config
do CamelCase adequadaSystem.Web.WebPages.Razor
para um tudo-em minúsculassystem.web.webpages.razor
que finalmente foi minha morte.Esperando que isso possa ajudar alguma outra pobre alma com este problema ...
Para referência, esta é a entrada correta (para o meu cenário)
fonte
Às vezes, não é suficiente alterar os números da versão nas configurações do web.config. Esse problema ocorre porque o Visual Studio 2015 não tem ferramentas mvc4.
A solução é atualizar seu projeto para MVC 5. Isso resolve totalmente o problema. Você pode obter ajuda nesta página. Isso explica claramente.
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 propósito, a equipe do Visual Studio declarou que irá adicionar suporte a mvc4 ao Visual Studio 2015 com a primeira atualização.
fonte
Enfrentei esse problema mais vezes e finalmente descobri que isso acontecia porque a pasta de visualizações deveria conter sua própria configuração web
fonte
atrasado para o jogo, mas nenhuma dessas soluções funcionou para mim.
Eu atualizei para o VS 2017 e o site funcionou, mas o compilador do Visual Studio quebrou a maioria dos arquivos .cshtml
TLDR;
mysolution.sln tinha a versão errada
então você deseja criar uma nova solução com o VS mais recente, compará-la com a sua e copiar as informações da versão.
etapas completas de atualização:
fonte
Perdi um dia de trabalho muito bom nisso. Tentei de tudo neste (e em outros) posts, sem sucesso. Eventualmente, descobri que precisava abrir o projeto de uma maneira diferente. Acabei de atualizar um site existente para Visual Studio 2015, MVC5, .NET framework 4.5.2 e estou usando o Windows 10, mas suspeito que a resposta seria a mesma para outras versões de cada aplicativo de software.
Portanto, esta é a opção de menu que escolhi para abrir um site:
Em vez disso, abri o arquivo csproj definindo o projeto usando esta opção de menu:
Então, tive a opção "solução limpa" à qual muitas outras pessoas se referem:
No entanto, eu nem precisava disso - tudo funcionou! Bem, eu passei para o próximo conjunto de problemas, de qualquer maneira ...
fonte
Eu tinha adicionado o controlador por
código correspondente criado:
Meus erros foram alterados alterando a Etapa 1 como:
código correspondente criado:
O problema era: eu não herdei minha classe do controlador
Outras mensagens em meu erro incluídas - todas provenientes deste problema:
Espero que essa mudança ajude aqueles que não prestaram atenção em seus passos iniciais.
fonte
Depois de tentar pelo menos 90% de todas as soluções / truques desse assunto (e outros), finalmente resolvi !! Alerta de spoiler, não há nenhum vestígio de lógica é a seguinte chamada "solução": Rodar a solução com todas as abas fechadas finalmente funcionou, quando nada mais me pouparia do "ViewBag & Co não existe no contexto atual" ... Você foi avisado, sem lógica!
Espero que ajude alguém um dia ^^
fonte
No meu caso, esse problema estava acontecendo apenas no meu PC para apenas um projeto. Meu projeto funcionou bem no VS2012, mas quando aberto no VS2017 estava com esse problema.
O principal problema para mim aqui era o cache. Meu projeto estava apontando para as versões em cache mais antigas da dll para Razor e MVC e não estava encontrando recursos que foram adicionados em versões mais recentes, como o ViewBag. O ViewBag foi adicionado no Razor versão 3, mas como eu tinha o Razor versão 2 em cache, ele não conseguiu encontrar o ViewBag (mas conseguiu encontrar outras coisas que estavam presentes na versão 2). No entanto, simplesmente limpar o cache, como na resposta aceita, não resolveu meu problema. Tivemos que mudar os arquivos de configuração para dizer "use a versão 3 em vez de 2" para o Razor e "use a versão 5 em vez de 4" para MVC, fechando o VS, removendo o cache e abrindo o projeto e reconstruindo. Então as coisas foram consertadas. Abaixo estão instruções mais detalhadas.
Aqui está a sequência de mudanças que me ajudaram a resolver meu problema:
Aqui estão essas linhas no meu caso:
(notas: 1) suas versões podem ser diferentes, estou apenas dizendo o que precisava ser feito no meu caso 2) Eu omiti algumas coisas com "..." por brevidade 3) mesmo se você tiver uma versão MVC algo como 5.3.2.0 você ainda deve inserir 5.0.0.0, o mesmo que a versão do Razor - insira todos os zeros em 3.0.0.0)
No arquivo de configuração principal (aquele no nível superior), mude
webPages:version
de 2.0.0.0 para 3.0.0.0.Essa mudança provavelmente não afetou a solução, mas ainda vou mencioná-la. Certifique-se de que a
<namespaces>
seção da pasta "Visualizações" tenha exatamente o mesmo conteúdo do arquivo .conifg principal na raiz do projeto, algo como:%LOCALAPPDATA%\Microsoft\VisualStudio\14.0\ComponentModelCache
(ou qualquer que seja o seu caminho correto), assim como é sugerido na (atualmente) resposta aceita por Fenton. Exclua também o.scan
arquivo, mesmo que não esteja mencionado na resposta. Quando terminar, abra o VS, limpe seu projeto e reconstrua-o. As coisas devem estar funcionando agora. Funcionou para mimfonte
Desligar e ligar funcionou para mim. Você pode tentar reiniciar o Visual Studio.
fonte
Consegui resolver o problema adicionando o seguinte ao topo da minha página .cshtml
Depois de recompilar, consegui deletar essa linha e o erro sumiu.
fonte
Eu enfrentei um problema semelhante com um de meus pontos de vista. No meu caso, apenas limpei a solução e tentei reconstruí-la e funcionar.
fonte
o link a seguir pode ajudá-lo.
Ele irá mostrar a você qual poderia ser o problema
resolve meu problema. de alguma forma, eu excluí meu arquivo web.config da pasta de exibição.
fonte
Eu enfrentei o mesmo problema. Tentei a solução Limpar, Construir e Reconstruir, mas não funcionou para mim.
Então, finalmente fiz o seguinte:
Espero que funcione para vocês também.
fonte
Depois de atualizar um dos aplicativos do meu cliente de ASP MVC 4 para ASP MVC 5, tivemos erros de designers relacionados a Html Helpers e ViewBag em páginas cshtml.
Para corrigir esses problemas, certifique-se de fazer o seguinte: Instalar a biblioteca de ajudantes da Web do Asp.NET do Nuget Abra o Web.config do projeto e atualize os vínculos se eles não tiverem sido atualizados durante a instalação dos pacotes Nuget, por exemplo
Encontre “páginas da web: Versão” nas configurações do aplicativo e atualize-o para a versão 3.0.0.0. Meu web.config tinha
e eu atualizei para
Reinicie o Visual Studio e reconstrua. Você pode ter que deletar a pasta bin do seu projeto
Visite: https://lajak.wordpress.com/2014/11/16/asp-mvc-5-viewbag-does-not-exist-in-the-current-context/
fonte
Depois de tentar de tudo e me sentir um pouco frustrado, atualizei o framework .NET em meu aplicativo MVC5 de 4.5 para 4.5.2. De alguma forma, isso resolveu meu problema. Espero que ajude.
fonte
Resolvi substituir no web.config
com
fonte