Factory
A extensão Factory configura o Visual Studio especificamente para construir soluções Elevation, para além de instalar os templates de projetos.
Essas configurações incluem:
- Menus específicos (o menu ELEVATION).
- Toolbars (a toolbar ELEVATION).
- Tool windows.
Menu ELEVATION
O menu ELEVATION disponibiliza várias ferramentas para fins muito diversos.
Este menu está disponível no menu principal do Visual Studio:

E no menu de contexto do solution explorer:

Os comandos disponíveis são seguintes. Cada comando ficará disponível ou não consoante esteja uma solução aberta e dependendo do tipo de solução aberta (se é o não a solução de um produto ou módulo Elevation).
Toolbar ELEVATION
Esta toolbar fornece um acesso rápido às opções mais comuns do menu ELEVATION.

Modeling Recipes Explorer
Esta tool window permite executar receitas sobre os modelos de um módulo ou de um produto. Essas receitas aceleram a criação de elementos nesses modelos.

CodeGen Explorer
Esta tool window permite explorer e gerir todos os text templates existentes na solução atual.

NuGet Packages Explorer
Esta tool window permite explorer todos os packages instalados nos projetos da solução atual.

Output Window
A Factory configura também um painél na janela de output do Visual Studio onde são registados enumeros eventos relacionados com a Plataforma Elevation e a Modeling Framework (em particular).

Comandos ELEVATION
Models
Models | Validate All...
Este comando permite validar todos os modelos da solução numa única operação.
Models | Entities Model...
Este comando abre o modelo de entidades da solução atual.
Models | Services Model...
Este comando abre o modelo de serviços da solução atual.
Models | Presentation Model...
Este comando abre o modelo de apresentação da solução atual.
Models | Menu Model...
Este comando abre o modelo de menu da solução atual.
Models | Product Model...
Este comando abre o modelo de produto da solução atual.
Models | Edit Product Metadata...
Este comando permite editar os metadados do produto a que corresponde a solução atual (o ficheiro Product.metadata.json).
Models | Edit Module Metadata...
Este comando permite editar os metadados do módulo a que corresponde a solução atual (o ficheiro Module.metadata.json).
Models | Reset Designers Cache
Este command reinicia a cache interna dos designers. Esta cache é usada para acelarar as validações dos modelos e contém cópioas em memória dos modelos serializados.
Models | Open Temp Directory
Este comando abre no Windows explorer a diretoria temporária utilizada pela Plataforma Elevation.
Solution
Solution | Compare Solution...
Este comando executa um wizard que permite comparar a estrutura da solução atual com o template de projeto corresponde e realizar correções automáticas.

Solution | Verify Host Bin Directory...
Este comando permite executar o utilitário Types Loader Verifyer sobre a diretoria do projeto Host da solução atual.
Solution | Expand All
Este comando permite expandir todos os elementos de todos os projetos (ou do projeto selecionado) no solution exlorer.
Solution | Collapse All
Este comando permite colpsar todos os elementos de todos os projetos (ou do projeto selecionado) no solution exlorer.
Solution | Clean...
Este comando limpa todas as pastas de outup da solução atual. Isto inclui as diretorias bin mas também as diretorias obj.
Solution | Check Code Analysis Settings...
Este comando permite verificar as configurações de code analysis dos projetos da solução atual e efetuar correções automáticas.
Solution | Check Build Configurations...
Este comando permite verificar as configurações de build da solução atual.
Solution | Check Build Imports...
Este comando permite verificar os imports (para a build) dos projetos da solução atual.
Solution | Check Text Templates Build Action...
Este comando permite corrigir a build action (para None) dos items dos projetos que correspondem a text templates.
Solution | Check Content Files Build Action...
Este comando permite corrigir a build action dos items dos projetos que correspondem a ficheiros de contéudo (scripts, etc.).
Solution | Check Project Items Orphaned in Version Control...
Este comando pesquisa ficheiros que estejam no source control nas pastas da solução atual e não estejam incluídos nos projetos da solução.
Solution | Check Embed Interop Types Property...
Este commando verifica as referências dos projetos para detetar os casos em que a propriedade Embed Interop Types esteja ativa.
Tools
Os commandos deste menu permitem executar os vários utilitários do SDK.
NuGet
NuGet | NuGet Packages Explorer
Este comando permite executar o explorador de packages NuGet configurados na solução atual.
NuGet | Replace Assemblies in Local Repository...
Este comando permite substituir os binários dos packages produzidos pela solução atual num repositório local de packages, utilizado por outras soluções.

Esta ferramenta é muito útil para fazer debug de assemblies geradas por uma solução noutras soluções de forma rápida.
NuGet | Replace Serialized Models in Local Repository...
Este comando é equivalente ao anterior mas atua somente sobre os ficheiros de serialização dos modelos do módulo atual. Os ficheiros [Module].EntitiesModel.json, [Module].ServicesModel.json e [Module].PresentationModel.json.
Atualizando o contéudo dos packages NuGet com esses ficheiros de serialização gerados na máquina local, torna-se possível depois usar esse repositório para atualizar os mesmos ficheiros noutros módulos (usando o commando seguinte).
NuGet | Update Serialized Models from Local Repository...
Este comando permite atualizar os ficheiros de serialização dos modelos de um ou mais módulos externos referenciados pelo módulo atual a partir de um repositório local de packages NuGet.
Este comando deve ser usado em conjunto com o anterior para atualizar rapidamente as referências entre módulos nos modelos sem necessidade de builds ou de atualização dos packages.
É de notaar que os ficheiros de serialização dos módulos externos são distribuidos pelos packages NuGet como ficheiros do tipo "content", o que significa que não são atualizados pelo comando updata-package.
NuGet | Fix packages.config Files (from csproj)
Um package NuGet é "registado" para um determinado projeto em dois ficheiros: o ficheiro packages.config e o ficheiro csproj do projeto).
Por vezes acontece desses dois ficheiros ficaram inconsistentes, causando problemas na compilação do projeto.
Este comando permite atualizar a versão de todos os packages PRIMAVERA no ficheiro packages.config a partir dos valores existentes no ficheiro csproj.
NuGet | Fix csproj Files (from packages.config)
Este comando realiza a operação contrária ao comando anterior.
NuGet | Update Packages to Latest Version...
Este comando permite atualizar os packages PRIMAVERA para a última versão disponível no repositório selecionado.

NuGet | Remove Package...
Este comando permite remove um package de todos os projetos da solução atual.
NuGet | Install Primavera.Build.Common Package
Este comando permite instalar o package Primavera.Build.Common nos projetos da solução atual.
NuGet | Install Primavera.VisualStudio.Analyzers Package
As configurações de code analysis da solução são controladas pelo packages Primavera.VisualStudio.Analyzers e Primavera.Build.Common.
Este comando permite instalar o package Primavera.VisualStudio.Analyzers nos projetos da solução atual.
NuGet | View NuGet Caches...
O NuGet mantém caches na máquina dos packages restaurados a partir do servidor. Essas diretorias tendem a crescer imenso. Este comando permite visualizar a localização dessas diretorias e o seu conteúdo.

Tracing
Tracing | Turn On|Off Output to System.Diagnostics.Trace
Este comando ativa ou desativa o output do componente de tracing da CoreLib para System.Diagnostics.Trace.
Tracing | Turn On|Off Output to Tracing Viewer
Este comando ativa ou desativa o output do componente de tracing da CoreLib para o utilitário Tracing Viewer.
Favorite Solutions
A factory disponibiliza este conceito de soluções favoritas que permite manter uma lista de soluções mais utilizadas para as poder abrir mais rapidamente.

Favorite Solutions | Add Current Solution
Este comando adiciona a solução atual à lista de soluções favoritas.
Favorite Solutions | Remove...
Este comando permite remover uma ou mais soluções da lista de soluções favoritas.
Toolbars
Toolbars | ELEVATION
Este comando permite mostrar a toolbar ELEVATION.
Windows
Windows | Entities Designer Explorer
Este comando permite abrir o explorer do modelo de entidades.
Windows | Services Designer Explorer
Este comando permite abrir o explorer do modelo de serviços.
Windows | Presentation Designer Explorer
Este comando permite abrir o explorer do modelo de apresentaçã.
Windows | Menu Designer Explorer
Este comando permite abrir o explorer do modelo de menus.
Windows | Product Designer Explorer
Este comando permite abrir o explorer do modelo de produto.
Windows | Modeling Recipes Explorer
Este comando permite abrir a tool window Modeling Recipes Explorer.
Windows | CodeGen Explorer
Este comando permite abrir a tool window CodeGen Explorer.
Windows | NuGet Packages Explorer
Este comando permite abrir a tool window NuGet Packages Explorer.
Windows | Output Window
Este comando permite abrir a output tool window do Visual Studio.
Documentation
Este comando abre a documentação da Plataforma numa nova janela do browser por defeito.
Transform
Transform | Transform Solution
Este comando executa a transformação dos text templates de todos os projetos da solução.
Transform | Transform Folder
Este comando executa a transformação dos text templates de todos os projetos sob o solution folder selecionado no solution explorer.
Transform | Transform Project
Este comando executa a transformação dos text templates do projeto selecionado no solution explorer.