Ajuda - Busca - Membros - Calendário
Versão Completa: herança entre projetos
Fórum Script Brasil > Programação & Desenvolvimento > .NET
--Anderson --
Nas versões anteriores do aspnet (1.1 e 2.0) a herança entre masterpage sempre foi um problema.

Na versão do 3.5 a Microsoft prometia acabar com esse problema, mas quem já trabalhou com o 2008 sabe que essa promessa não foi cumprida por completo. Na nova versão até conseguimos herdar masterpage de masterpage, desde que ambas façam parte da mesma aplicação. E esse é meu problema!

Hoje trabalho como vs2005 e tenho um projeto padrão e todas as minhas aplicações utiliza-na como "FÔRMA" em sua implementação. Para isso preciso duplicar as masterpage do projeto padrão em cada aplicação nova e utilizar delegate em tempo de execução, o que, vamos combinar, não a melhor prática .

Code SnippetEstou migrando para vs2008 e gostaria de saber se alguém já conseguiu herdar de masterpages que estão em outro projeto, como era promessa da microsoft para essa versão.
Denis Bittencourt Muniz
Olá Anderson.

QUOTE
Nas versões anteriores do aspnet (1.1 e 2.0) a herança entre masterpage sempre foi um problema.

Apenas na versão 2.0 smile.gif Na 1.x não tinhamos esse recurso.

MasterPages entre projetos: exato! Infelizmente, isso não é possível, por uma limitação do HTML Designer do Visual Studio. Você não pode fazer uma página ou MasterPage no projeto B herdar uma MasterPage do projeto A. Quando o assunto é MasterPage, temos dois problemas:

-> Em tempo de design, você não pode usar uma MasterPage de outro projeto. O interessante é que funciona em tempo de excecução, desde que a MasterPage a ser usada esteja no mesmo diretório virtual da página que utilizando esta MasterPage (limitição em tempo de design).

-> MasterPages não funcionam em cenários onde uma página X esteja em um diretório virtual diferente da onde a MasterPage a ser usada esteja hospedado (limitação em tempo de execução).

Aconselho o seguinte: em termos de interface web, utilize um projeto apenas para representar toda interface do seu projeto. Os módulos do seu software, ao invés de dividir em projetos de interface, faça cada módulo em uma sub-pasta, presente em um projeto dito raiz. Concerteza, em termos de compartilhamento de recursos em projetos interface web, o Visual Studio deixa muito a desejar (e olha que estamos falando de projetos dentro de uma solução única, lógicamente).

Bom, qualquer coisas estamos aí!

Falows!

P.S: Caso necessite dessa MasterPage em várias aplicações, como se fosse, digamos, um componente, pesquise no google "sharing masterPages". Antecipo, que, trata-se de um caminho um pouco mais complexo, onde trata-se de compartilhar uma MasterPage compilada no GAC do servidor.
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2010 Invision Power Services, Inc.