Pergunta

Eu tenho acompanhado este guia do MSDN sobre "Criando um aplicativo ASP.NET MVC Áreas Usando vários projetos" . Desde ASP.NET MVC 2.0 é apenas visualizar se poderia imaginar que haja alguns erros.

O meu problema é, ele simplesmente não funciona! Pelo menos não da maneira que é supor para. Depois de definir tudo para cima e pressionando F5, alguém poderia pensar que, este trabalho vontade, puro! BEEEP. Errado.

Ele não encontra as vistas no projeto criança! Porque no meu caso ele tenta procurar dentro ~/Views que naturalmente é no pai!

Quando a depuração eu ver que ele corre o controlador dentro do meu projeto de criança, mas quando se utiliza return View(); sobre essa acção, parece dentro dos Pais Veja-pastas.

Eu pergunto, Bug ou recurso?

Tentou acessar este tanto Vs2009, VS2010 com tanto Framework 3.5 e 4.0.

Foi útil?

Solução

Eu coloquei "múltiplas áreas de projeto" no Google e veio em este post: http: //forums.asp.net/p/1494640/3540105.aspx . Nota especificamente a resposta de Phil Haack.

Parece que a definição de seus pontos de vista no projeto pai está "funcionando como projetado", porque desta entrada no post MSDN: Now that all the code is in place, the final step is to customize the build process for each area project. This customization causes some child-area files, such as the views, to be copied to the main project before the application is built.

O "problema" com o post é que foi definido para o beta, onde esta etapa de compilação foi facilmente acessível. RC + você tem que apontam para as Futures montagem e atribuir a etapa de compilação de forma ligeiramente diferente se este é o caminho que você escolher.

Se você não gosta da direção Isso empurra você, a porção áreas portáteis de MvcContrib Phil menciona é quase tão bom como você vai chegar a uma alternativa.

Outras dicas

Eu atravessei a mesma dor que você. Isto é o que eu fiz.

  1. fez com que eu estava correndo MVC 2 RC (beta desinstalação 2, instalar o RC).
  2. recriou o projeto a partir do zero.
  3. Não há necessidade de editar os arquivos csproj, há necessidade de criar um routes.cs, e não há necessidade de editar global.ascx.cs, basta clicar o botão direito no projeto principal para obter o menu de contexto. A partir do item de menu Add você pode criar uma nova área.
  4. Os pontos de vista tem que ser no principal projetar ou você pode usar o informações neste post http://forums.asp.net/p/1494640/3540105.aspx, que eu planejo fazer para que as vistas estão em cada área.

Ele não suporta as áreas Multi-projeto, mas por enquanto isso é ok comigo. O link acima faz você aponte na direção de áreas multi-projeto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top