Estou tentando obter um site do ASP.NET MVC 3 em execução no IIS 6.0.
Atualmente, quando solicito uma página do servidor, ocorre o seguinte erro:
Mensagem de erro do analisador: Este método não pode ser chamado durante o estágio de inicialização do aplicativo antes do início.
nesta linha:
<add name="MyMembershipProvider" type="NS.MyMembershipProvider" connectionStringName="MyDatabase" applicationName="/MySite"/>
Estou completamente perplexo e não tenho muita idéia sobre o ciclo de vida do aplicativo ASP.NET, sem falar nas diferenças entre 6.0 e 7.0. Ler as páginas do MSDN não pareceu ajudar muito.
Alguém tem algum insight ou bons links para investigação? :)
asp.net-mvc
asp.net-mvc-3
sqwerty
fonte
fonte
Respostas:
Adicione isso no seu web.config (na seção appSettings):
EDITAR:
Para quem pergunta por que, é um problema conhecido descrito nas notas de versão do mvc 3 Mais detalhes aqui
fonte
Depois de atualizar alguns dos meus aplicativos do ASP.NET MVC3 para o MVC4, eu estava recebendo esse erro. Foi o resultado dos assemblies WebMatrix (WebMatrix.WebData.dll e WebMatrix.Data.dll). Eu removi essas referências e assemblies do diretório / bin e que cuidavam do problema.
fonte
@ Ek0nomik está certo. Migramos do
MembershipProvider
novo para o novo,ExtendedMembershipProvider
permitindo tirar proveito de algumas das novas funcionalidades oferecidas no namespace WebMatrix . Por padrão, a Associação Simples está ativada por algum motivo, então tivemos que desativá-la explicitamente, pois não queríamos ir tão longe quanto usar oSimpleMembershipProvider
.Tudo o que precisamos fazer foi adicionar isso ao web.config:
A habilitação da associação simples fez com que o código de inicialização do provedor fosse executado antes do manipulador Application_Start. Nossa estrutura de aplicativos exige que App_Start seja a primeira coisa a ser executada. Pessoalmente, eu sempre esperaria isso, mas a Associação Simples altera esse comportamento. Cuidado.
fonte
Bem, acabei de receber esse erro e ele resultou de uma cópia acidental de um .cshtml na raiz do meu projeto. Nem foi incluído no projeto. Excluiu isso e o erro desapareceu. Isso foi com o MVC3 no IIS7. Eu imagino que algumas das pessoas que estão com esse problema estão no mesmo barco.
fonte
Isso é causado por várias chamadas de Reflexão serem feitas muito cedo em um Aplicativo. Acontece que as sugestões Web.Config em outras respostas impediram que uma dessas chamadas de Reflexão fosse feita. No meu caso, no entanto:
Estou usando o Entity Framework e executei
update-database
. Eu tenho:Acontece que tínhamos código que usava uma biblioteca que foi modificada recentemente para obter todo o código em todos os namespaces / projetos. Especificamente, ele chamou:
Kaboom. Isso causou esse erro obscuro. As migrações EF são executadas em uma zona estranha, onde o aplicativo está meio em execução e meio não, o que significa que o método acima nunca pode ser chamado por qualquer código que as migrações invocem.
fonte