asp.net MVC3 Erro CS1061 does not contain a definition for and no extension method acception a first argument of type could be found


Depois da migração de um projeto de ASP.NET MVC2 para o ASP.NET MVC3, a aplicação funcionava corretamente nas máquinas de desenvolvimento, porém no servidor de homologação era retornado o seguinte erro:

CS1061: "[classe]" does not contain a definition for "[nome propriedade]" and no extension 
method "[nome propriedade]" acception a first argument of type "object" could be found 
(are you missing a using directive or an assembly reference?)

Algumas referências na internet apontam para as seguintes soluções:

  1. Problema no Preview1 que é solucionando garantindo que em todas as Views a tag: “<%@ Import” esteja sempre antes da tag: “<%@ Page”. A tag Page deve ser sempre a última das tags de pré-compilação. Rerefência: http://david.gardiner.net.au/2010/09/error-cs1061-upgrading-to-aspnet-mvc3.html
  2. Esse outro link: http://stackoverflow.com/questions/3516130/upgrade-mvc-2-to-mvc-3-issues-with-views tem uma sugestão de substituir o “web.config” da pasta “/views” pelo “web.config” padrão da pasta “/views” de uma nova aplicação asp.net mv3.

Esses dois artigos apontavam que era um problema no arquivo web.config.

Quando eu copio a solução para o servidor de produção eu nunca copio o arquivo web.config, porque esse arquivo tem configurações especificas de cada ambiente, e depois de fazer a conversão eu não tinha subido o novo web.config que tinha sido alterado pela ferramenta de conversão do projeto.

Bastou copiar a nova versão do arquivo e o site voltou a funcionar. Então, verifique se todos os ambientes estão com o web.config atualizado.


Comentários