Meu novo aplicativo Web ASP.NET MVC funciona na minha estação de trabalho de desenvolvimento, mas não é executado no meu servidor web ...
Erro de Servidor na '/' Aplicação.
Erro de configuração
Descrição: ocorreu um erro durante o processamento de um arquivo de configuração necessário para atender a essa solicitação. Revise os detalhes específicos do erro abaixo e modifique seu arquivo de configuração adequadamente.
Mensagem de erro do analisador: Não foi possível carregar o arquivo ou assembly 'System.Web.Mvc, versão = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' ou uma de suas dependências. O sistema não pode encontrar o arquivo especificado.
Erro de origem:
Line 44: <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 45: <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 46: <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 47: <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
Line 48: <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
Arquivo de origem: C: \ inetpub \ www.example.org \ web.config Linha: 46
Rastreio de Carregamento de Montagem: As informações a seguir podem ser úteis para determinar por que o assembly 'System.Web.Mvc, Versão = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' não pôde ser carregado.
WRN: O log de ligação da montagem está desativado. Para habilitar o log de falha de ligação de montagem, defina o valor do Registro [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) como 1. Nota: Há alguma penalidade de desempenho associada ao log de falha de ligação de montagem. Para desativar esse recurso, remova o valor do registro [HKLM \ Software \ Microsoft \ Fusion! EnableLog].
Informações sobre versão: Versão do Microsoft .NET Framework: 2.0.50727.3053; Versão do ASP.NET: 2.0.50727.3053
Preciso instalar o AspNetMVCBeta-setup.msi no servidor? Ou existe um instalador diferente para servidores?
fonte
Encontrei o mesmo problema que o sgriffinusa. Além das referências, o artigo de Phil sugere: http://www.haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx . Eu adicionei estes:
O Godaddy Deployment funcionou perfeitamente. Desative os erros personalizados e adicione referências para corrigir os erros. Isso deve levá-lo na direção certa.
fonte
Instalar o MVC diretamente no servidor da Web é uma opção, pois os assemblies serão instalados no GAC. Você também pode implantar em bin os assemblies, o que pode ajudar a manter seu servidor livre de assemblies de pré-lançamento até que um release final esteja disponível.
Phil Haack publicou um bom artigo há alguns dias sobre como implantar o MVC junto com seu aplicativo, portanto, não é necessário instalar diretamente:
http://www.haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx
fonte
Corri para o mesmo problema tentando implantar meu aplicativo Web MVC3 Razor na hospedagem compartilhada GoDaddy. Existem alguns .dlls adicionais que precisam ser referenciados. Detalhes aqui: http://paulmason.biz/?p=108
Basicamente, você precisa adicionar referências ao seguinte, além das listadas na postagem do @ Haacked, e configurá-las para implantar localmente, conforme descrito.
fonte
No VS2010, clique com o botão direito do mouse no projeto no Solution Explorer e selecione 'Add Deployable Dependencies'. Em seguida, marque as caixas de seleção relacionadas ao MVC na caixa de diálogo a seguir.
Isso cria uma pasta '_bin_deployableAssemblies' no projeto que contém todos os arquivos .dll mencionados em outras respostas. Eu acredito que estes são copiados para a pasta bin ao criar um pacote de implantação.
fonte
Correção simples. No VS2010, clique com o botão direito do mouse no seu projeto MVC, selecione "Adicionar dependências implementáveis ...", selecione as opções desejadas e clique em OK
fonte
Solução rápida e simples: enfrentei esse problema com o Microsoft.AspNet.Mvc -Version 5.2.3 e, depois de passar por todos esses tópicos, encontrei uma solução mais simples.
Basta seguir os passos:
Isso corrigirá automaticamente todos os problemas com referências. Veja a imagem abaixo:
fonte
Teve o mesmo problema e adicionou toda a montagem que eles disseram, mas ainda obteve o mesmo erro.
Acontece que você precisa criar a " Versão específica " = Falso.
fonte
Queremos adicioná-lo porque estamos criando uma biblioteca de classes que o utiliza.
Para mim é aqui ...
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies
fonte
Se você NÃO estiver usando um provedor de hospedagem e tiver acesso ao servidor para instalar ... Em seguida, instale as ferramentas de atualização do MVC 3, faça isso ... você economizará horas de problemas em um servidor Windows 2003 / máquina IIS6. , Comentei nesta página aqui incompatibilidade de número de versão do Nuget.Core.dll
fonte
Além do post de Haack, Hanselman também tem um post semelhante. BIN Implantando o ASP.NET MVC 3 com Razor em um Windows Server sem o MVC instalado
Para mim, a solução "Copiar local = verdadeiro" era insuficiente porque as referências de projeto do meu site não incluíam todas as dlls ausentes. Como Scott menciona em sua postagem, eu também precisava obter dlls adicionais da seguinte pasta na minha caixa de desenvolvimento: C: \ Arquivos de Programas (x86) \ Microsoft ASP.NET \ ASP.NET Web Pages \ v1.0 \ Assemblies. A mensagem de erro me informou qual dll estava faltando (System.Web.Infrastructure, System.Web.Razor, etc.) Continuei adicionando cada dll ausente, uma por uma, até que funcionasse.
fonte
Eu fiz um "Pacote de atualização - reinstale o Microsoft.AspNet.Mvc" para corrigi-lo no Visual Studio 2015.
fonte
Uma consideração importante é o arquivo web.config. Alguns pacotes podem alterar seus redirecionamentos de ligação, causando estragos (o pacote nocivo estava no pacote interno que eu não removi o web.config do pacote ou certificando-se de que o web.config esteja no pacote não possui redirecionamentos de ligação. Por exemplo, remover o nó duplicado e incorreto resolve esse problema
removendo as linhas 8 a 24 corrige a compilação.
fonte
Verifique também a versão do assembly no web.config dentro da pasta Views e verifique se ele corresponde. Às vezes esqueço que existe um segundo web.config nesse local.
fonte
Esta postagem no blog pode ser uma duplicata da de Phil, mas pode ajudar:
http://www.tugberkugurlu.com/archive/deployment-of-asp-net-mvc-3-rc-2-application-on-a-shared-hosting-environment-without-begging-the-hosting-company
fonte
Eu tive o mesmo problema com vários arquivos de montagem depois de mover o projeto para outra solução.
Para mim, o
web.config
arquivo estava tentando adicionar este assembly:Pensei que a referência no projeto estava apontando para a versão
3.0.0.0
(clique na referência e role até a parte inferior das propriedades). Por isso, acabei de alterar a versão de referência noweb.config
arquivo.Não sei se isso foi apenas um bug de algum tipo. O problema de adicionar todas as outras referências foi que as referências apareceram no arquivo de configuração, mas na verdade não foram referenciadas no projeto (dentro do Solution Explorer) e os arquivos necessários não foram copiados com o restante dos arquivos do projeto, provavelmente devido a não estar
"copy local = true"
Agora, não consegui encontrar esses assemblies nos assemblies adicionáveis (clicando com o botão direito do mouse na referência e tentando adicioná-los dos assemblies ou extensões). Em vez disso, criei uma nova solução MVC que adicionou todos os assemblies e referências que eu precisava, encontrando-os sob as novas referências de projetos no explorador de soluções e encontrando seu caminho na janela de propriedades da referência.
Depois, copiei as bibliotecas necessárias para o outro projeto e as referenciei.
fonte
Depois de tentar de tudo e ainda assim falhar, esta foi a minha solução: lembrei-me de que tinha e erro a última atualização da versão do MVC no meu Visual Studio, para executar o projeto em outro Visual Studio (computador diferente) e depois carregar as dll-s e funcionou. talvez ajude alguém ...
fonte
Estou usando o Jenkins em projetos .net e tive problemas com as referências do MVC 4.
Finalmente, resolvi meu problema usando uma funcionalidade do mecanismo de pesquisa de referência .Net baseada no registro usando:
"HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft.NETFramework \ v2.0.50727 \ AssemblyFoldersEx"
Você pode criar a subchave e definir a chave padrão como "c: \ myreferenceedir", por exemplo.
Ele me salvou com versões do MVC e também com páginas da Web ASP.net.
Útil para adicionar referências ao "Add Reference Dialog"
http://dhakshinamoorthy.wordpress.com/2011/12/04/how-to-register-your-net-assembly-in-gac-and-make-it-show-in-add-reference-dialog/
fonte
Como outros já mencionaram, adicione essas referências aos estúdios visuais com
Copy Local
settrue
. (Eu também tive que adicionarSystem.Web.Webpages
)fonte
Eu adicionei "Microsoft ASP.NET Razor" usando Gerenciar pacotes NuGet.
Com Add References, por algum motivo, eu só tinha System.Web.Helpers 1.0.0 e 2.0.0 ... mas não 3.0.0.
Outra opção que funcionou para mim foi excluir as referências a System.Web.Mvc e System.Web.Http ... e adicioná-las novamente aos locais dos pacotes no arquivo csproj (você pode editar o projeto com mais facilidade um editor de texto):
fonte