Estou trabalhando em um projeto MVC3 e recebo o seguinte erro:
Mensagem de erro do analisador: Não foi possível carregar o tipo 'GodsCreationTaxidermy.MvcApplication'.
Erro de origem:
Linha 1:
<%@ Application Codebehind="Global.asax.cs" Inherits="GodsCreationTaxidermy.Core.MvcApplication" Language="C#" %>
O erro que recebo é que não é possível carregar GodsCreationTaxidermy.Core.MvcApplication, mas nesta captura de tela a parte Principal não está sendo exibida no erro:
Alguém tem alguma idéia ou solução para esse erro?
asp.net
asp.net-mvc-3
PsychoCoder
fonte
fonte
Respostas:
Seu servidor da Web local está executando um código diferente do que você está realmente trabalhando. Certifique-se de ter parado a depuração, pare o servidor da Web local, limpe e reconstrua conforme Peter sugeriu, verifique novamente o arquivo global.asax e global.asax.cs e tente novamente.
Se isso não funcionar e você estiver usando o IIS local, tente remover o site no Gerenciador do IIS e recriá-lo manualmente.
fonte
Verifique se o caminho de saída do projeto (propriedades do projeto / Build) está definido como
bin
e nãobin\Release
oubin\Debug
Por algum motivo, o IIS (servidor de desenvolvimento VS ou IIS local) sempre acessa as bibliotecas do
bin
diretório (e não procura subdiretórios)fonte
Tente modificar o arquivo global.asax (adicione um espaço em algum lugar) e execute novamente. isso forçará o servidor da Web incorporado a atualizar e recompilar o arquivo global.asax.
Faça também uma limpeza e reconstrução - deve corrigir o problema
fonte
Às vezes, isso acontece se você alterar as informações do espaço para nome (nível do projeto ou da classe) após a
global.asax
geração.Clique com o botão direito do mouse no
Global.asax
arquivo e selecione "Abrir com" e selecione "Editor de XML (texto) com codificação" (outros editores também podem funcionar, mas é isso que eu uso).Em seguida, edite a seção "Herança" na diretiva XML
para que ele corresponda ao nome completo real da sua classe Application. E é isso.
Outra opção é copiar todo o seu código do Global.asax.cs e, em seguida, excluir e criar outro arquivo Global.asax (e depois copiar o código novamente para Global.asax.cs).
fonte
Global.asax
arquivo conforme declarado nesta resposta e torná-lo compatível com o que está nas configurações do projeto.Fechei e reabri o estúdio visual e funcionou.
fonte
Eu tive que ir para BUILD -> CONFIGURATION MANAGER e - ahem - marque a caixa ao lado do meu projeto para garantir que ele realmente seja construído.
fonte
Eu tive esse problema hoje e demorei um pouco para encontrar a causa.
Basicamente, meu principal projeto do VS2015 foi incluir um subprojeto que foi construído usando uma versão superior do .Net Framework.
Estranhamente, quando você tem esse problema, o VS2015 informa com satisfação que a solução foi boa, mas quando você tenta executar o site, ele apenas fornece esse erro enganoso, sugerindo que seu
Global.asax.cs
arquivo está errado.Portanto, se você vir esse erro e a Limpeza / reconstrução não ajudar, abra a
References
árvore do seu projeto e verifique se há pontos de exclamação.Além disso, verifique sua
Output
janela para mensagens como esta:A solução, é claro, é clicar com o botão direito do mouse no seu projeto principal, selecionar a guia superior "Aplicativo" e alterar a versão do Target Framework para uma versão superior que corresponda ao seu subprojeto.
É irritante que o Visual Studio 2015 permita que você crie e execute completamente soluções que silenciosamente contêm esse problema. Está pedindo problemas ..!
fonte
Você também pode verificar as propriedades do seu site no IIS. (No IIS, clique com o botão direito do mouse no site e escolha Propriedades.) Verifique se a configuração Caminho Físico está apontando para o caminho correto para o seu aplicativo, não para outro aplicativo. (Isso corrigiu esse erro para mim.)
fonte
Acabei de encontrar isso em um aplicativo MVC5 e nada estava funcionando para mim. Isso aconteceu logo depois que eu tentei reverter o SVN para uma versão mais antiga do projeto.
Eu tive que excluir o global.asax.cs e, em seguida, adicionei um novo clicando com o botão direito do mouse em Projeto -> Adicionar novo item -> Global.asax e que finalmente o corrigiu.
Apenas pensei que poderia ajudar alguém.
fonte
global.asax.cs
arquivo existente . Deve ser definido como "Compilar". A ação de compilação doglobal.asax
próprio arquivo deve ser definida como "Conteúdo".Tenho que relatar que tentei pelo menos 4 sugestões deste post. Nenhum deles funcionou. No entanto, estou feliz em informar que me recuperei ao recuperar o backup. Só tive que atualizar minhas últimas alterações de código do arquivo de log. Demorou menos de 10 minutos. Passou 3 vezes mais lendo este post e tentando outras sugestões. Desculpe.
Foi um erro muito estranho. Boa sorte para quem encontrar este gremlin.
fonte
Eu tenho o mesmo problema quando tenho 2 instâncias do Visual Studio executando o mesmo projeto. Então fechei o Visual Studio e abri apenas uma instância e agora funciona bem!
fonte
Eu estava trabalhando em um projeto da Web ASP.NET 'baseado em pastas' mais antigo (que eu detesto) - e achei essa a minha correção:
Crie uma
App_Code
pasta (se você ainda não a possui)Mova o
Global.asax.vb
arquivo para aApp_Code
pastaA marcação no Global.asax pode deixar de fora quaisquer namespaces (pelo menos, para este estilo de projeto, no máximo):
... onde "MyApp" é o nome da classe que está sendo definida no Global.asax.vb
fonte
"CONSTRUA -> GERENTE DE CONFIGURAÇÃO e - ahem - marque a caixa ao lado do meu projeto para garantir que ele realmente seja construído." Isso e ir para a pasta do projeto no Windows Explorer, pressionando opções e desmarcando a caixa de seleção "Somente leitura", ajudaram.
fonte
Esvazie a pasta da lixeira. Crie todas as bibliotecas de classes dependentes e encaminhe-as no projeto principal e crie a solução completa.
Fonte
fonte
Eu também enfrentei o mesmo problema. Apesar de seguir todas as respostas, não funcionou. Alterei então "Inherits = namespace.class " para "Inherits = nome completo da montagem ", ou seja, "Inherits = namespace.class, assemblyname, Versão =, Culture =, PublicKeyToken = " Espero que ajude.
fonte
Isso também pode acontecer se você esquecer acidentalmente de definir sua solução VS como "Vários projetos de inicialização" se estiver executando uma Web e WebApi a partir da mesma solução.
Você pode verificar isso clicando com o botão direito do mouse em Solution no Solution Explorer e selecione 'Properties'. Em seguida, procure por 'Startup Projects'.
fonte
Exclua o
.vs
diretório da raiz da solução. Limpar \ limpo. Reconstruir.Essa questão me deixa maluca de vez em quando e eu inevitavelmente acabo aqui procurando respostas. Eu suspeito que existem várias causas que podem produzir essa exceção, mas isso já funciona para mim.
fonte
Sim, eu li todas as respostas. No entanto, se você é eu e está retirando tudo o que resta do seu cabelo, tente verificar a pasta \ bin. Como a maioria dos arquivos do proj pode ter várias configurações agrupadas no elemento XML
PropertyGroup
, alterei oOutputPath
valor de 'bin \ Debug' para remover a parte '\ Debug' e reconstruir. Isso colocou os arquivos na pasta \ bin, permitindo que o Express IIS localize e carregue a compilação. Fico imaginando qual é a maneira correta de gerenciar essas compilações diferentes, para que uma implantação de depuração local possa encontrar e carregar o ambiente de destino.fonte
Esse problema foi resolvido com a permissão correta da pasta e a verificação no IIS.
Recebi permissão para todos enquanto testava no meu ambiente local. Mas no modo de publicação, acho que damos apenas permissão ao usuário do ASP.Net.
fonte
Eu também recebi o mesmo erro ... verifique o nome do aplicativo que você desenvolveu corretamente, ou seja. o espaço para nome e o nome do assembly alocados e também tente alterar fisicamente o nome da pasta criada para o aplicativo, tudo isso deve ser igual ao nome no espaço para nome acima, presente no arquivo global.asax
fonte
Também recebi o mesmo erro ... verifique a configuração do IIS do seu diretório virtual e verifique se a versão Properties - ASP.NET - ASP.NET é a mesma de Properties - Application - Target Framework. (Isso corrigiu esse erro para mim.)
fonte
Meu aplicativo foi criado em uma versão mais antiga do VS e não tinha uma pasta bin. Eu o atualizei para uma versão mais recente e tive um pesadelo ao implantar. Finalmente localizei esse erro em Projeto> Propriedades> Aplicativo. O Target Framework foi definido como 2.0; alterá-lo no servidor para corresponder no Gerenciador do IIS / Pool de aplicativos resolveu o problema para mim.
fonte
Eu descobri que alterar o espaço para nome no projeto, sem refatorar que, em toda a solução, era meu problema. Verifique as propriedades do seu projeto e veja qual é o seu espaço para nome, garanta que as linhas estejam alinhadas.
fonte
O problema para mim é que não incluí global.asax.cs no meu projeto. E como eu estava copiando arquivos de um .net 4.5 para um 4.0, não comentei as linhas desnecessárias no 4.0. Porque não foi incluído, o visual studio o compilou sem problemas. Mas quando o incluí, destacou as linhas que causam problemas.
fonte
Passei literalmente um dia tentando resolver isso.
A única coisa que funcionou foi excluir o arquivo .sln, criar um novo e adicionar os projetos novamente um por um.
¯ \ _ (ツ) _ / ¯ - Programação - ¯ \ _ (ツ) _ / ¯
fonte
No meu caso, o assembly da Web fazia parte do GAC ... então, após a compilação, ele precisa ser instalado no GAC e funcionou.
fonte
Encontrei essa mensagem de erro e, finalmente, descobri que a mensagem de erro era enganosa. No meu caso, parece ter havido um problema de roteamento no IIS que causou a leitura do global.asax de outro site no servidor da Web, gerando o erro.
No IIS, meu site estava vinculado a http: * 80: webservices.local e continha um aplicativo chamado MyAPI. Recebi a mensagem temida ao chamar o aplicativo MyAPI usando o endereço IP do servidor web.
Para chamar com êxito o meu aplicativo, tive que adicionar uma entrada de arquivo host para webservices.local em todas as máquinas que chamavam o aplicativo MyAPI. Todos os meus pedidos tiveram que ser prefixados com http: //webservices.local/MyAPI/ para serem roteados corretamente.
fonte
Eu tentei absolutamente tudo aqui e nada funcionou. Meu projeto estava no VS 2013. Desde então, atualizei para o VS 2015 e criei todos os meus novos aplicativos em 2015, mas carregando, compilando, construindo etc. todos os meus aplicativos antigos que foram criados em 2013 nessa versão.
Acabei carregando a solução em 2015 e ela resolveu para mim.
fonte
Passei vários dias nessa questão. Finalmente resolvi com a seguinte combinação de sugestões deste post.
bin\
vez debin\x64\Debug
. Eu já havia tentado isso várias vezes antes de alterar o destino da plataforma. Ele nunca fez diferença, além de receber um erro, ao não carregar o assembly devido a um formato inválido.Para ser claro, eu tive que fazer os dois antes de começar a funcionar. Eu os tinha experimentado individualmente várias vezes, mas ele nunca foi corrigido até que eu fiz os dois.
Se eu alterar uma dessas configurações de volta para a original, o erro será novamente, apesar de ter executado o Clean Solution e excluído manualmente tudo no
bin
diretório.fonte
Duas maneiras de conseguir isso:
O gerenciador de configuração mostra as compilações da DLL como uma mistura de compilações '64' e 'qualquer CPU'. Colocá-los todos na mesma compilação corrige isso.
Ao alternar entre ramificações, o caminho expresso do IIS às vezes não é atualizado. Clique com o botão direito do mouse em 'IIS Express' na barra de tarefas> Mostrar todos os aplicativos e verifique se o caminho está para a ramificação correta.
fonte