Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O projeto de site do Visual Studio pode ser estendido para fornecer suporte para linguagens de programação da Web. O idioma deve se registrar com o Visual Studio para que os modelos de projeto possam aparecer na caixa de diálogo Novo Site quando o idioma for selecionado.
O exemplo do IronPython Studio inclui suporte a sites. O exemplo contém as seguintes classes de atributo para registrar IronPython como uma linguagem codebehind para novos projetos da Web.
WebSiteProjectAttribute
Esse atributo é colocado no projeto de linguagem. Ele adiciona o idioma à lista de linguagens de programação da Web na lista Idioma na caixa de diálogo Novo Site. Por exemplo, o código a seguir adiciona IronPython à lista:
[WebSiteProject("IronPython", "Iron Python")]
public class PythonProjectPackage : ProjectPackage
Esse atributo também define o caminho dos modelos para apontar para a pasta de modelos. Para obter mais informações sobre o local da pasta de modelos, consulte Modelos de suporte de site.
WebSiteProjectRelatedFilesAttribute
Esse atributo é colocado no projeto de linguagem. Ele permite que o projeto de Site aninhar um tipo de arquivo (relacionado) em outro tipo de arquivo (principal) no Gerenciador de Soluções.
Por exemplo, o código a seguir especifica que um arquivo codebehind IronPython está relacionado a um arquivo .aspx. Quando uma nova página da Web .aspx é criada em uma solução de site da Web IronPython, um novo arquivo de origem .py é gerado e aparece como um nó filho da página .aspx.
[WebSiteProjectRelatedFiles("aspx", "py")]
public class PythonProjectPackage : ProjectPackage
ProvideIntellisenseProviderAttribute
Esse atributo é colocado no pacote do projeto de idioma. Ele seleciona o provedor IntelliSense para o idioma.
Por exemplo, o código a seguir especifica que uma instância de PythonIntellisenseProvider, que implementa IVsIntellisenseProject, deve ser criada sob demanda para fornecer serviços de linguagem.
[ProvideIntellisenseProvider(typeof(PythonIntellisenseProvider), "IronPythonCodeProvider", "Iron Python", ".py", "IronPython;Python", "IronPython")]
public class PythonPackage : Package, IOleComponent
A implementação IVsIntellisenseProject manipula referências e chama o compilador de linguagem quando uma página da Web com código é solicitada, mas não é armazenada em cache.