Acabei de criar um projeto ASP.NET MVC 4 e usei o Visual Studio 2012 RC para criar um Controller e Razor Views para Index
eCreate
Actions.
Quando vim para executar o aplicativo e naveguei até a Create
exibição, o seguinte erro foi mostrado:
Mensagem de erro do compilador: CS0103: O nome 'Scripts' não existe no contexto atual
O problema é o seguinte código que foi adicionado automaticamente à parte inferior da tela:
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
Por que os scripts não existem?
Eu olhei para a classe base da página da Web em Assembly System.Web.Mvc.dll, v4.0.0.0
Eu posso ver as seguintes propriedades auxiliares disponíveis:
- Ajax
- Html
- URL
Mas nada chamado Scripts.
Alguma ideia?
EDITAR:
Meu arquivo Web.config é parecido com este (intocado daquele que o Visual Studio criou):
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
</system.web.webPages.razor>
EDIT # 2:
As pessoas estão blogando sobre o uso do @Scripts
ajudante:
No entanto, tendo acabado de instalar o Visual Studio 2012 RC em uma nova instalação do Windows 8, ainda não consigo usá-lo @Scripts
, embora o Visual Studio o adicione ao modo de exibição gerado!
As soluções são apresentadas abaixo.
Não sei ao certo como encerrar isso, porque no final uma atualização parecia resolver o problema. Verifiquei novamente se havia realizado uma instalação limpa, usando um novo projeto. Mas o mesmo projeto falho que eu fiz funcionou bem agora, depois de várias atualizações e nenhuma intervenção óbvia manual. Obrigado por todos os pensamentos, mas havia definitivamente um problema no momento;)
<system.web.webPages.razor> <pages pageBaseType=""> <add namespace="System.Web.Mvc" /> <add namespace="System.Web.Mvc.Ajax" /> <add namespace="System.Web.Mvc.Html" /> etc... </pages>