Compilar um pacote do Visual Studio
Last updated
Last updated
Se você estiver desenvolvendo montagens a serem publicadas como um pacote do Dynamo, o projeto poderá ser configurado para agrupar todos os recursos necessários e colocá-los em uma estrutura de diretório compatível com o pacote. Isso permitirá que o projeto seja rapidamente testado como um pacote e simulará a experiência do usuário.
Há dois métodos para compilar um pacote no Visual Studio:
Adicionar eventos pós-compilação através da caixa de diálogo Configurações do projeto que usam scripts xcopy ou Python para copiar os arquivos necessários
Usar o destino de compilação “AfterBuild” no arquivo .csproj
para criar tarefas de cópia de arquivos e diretórios
“AfterBuild” é o método preferido para esses tipos de operações (e o que é abordado neste guia), pois não depende da cópia de arquivos que podem não estar disponíveis no computador de compilação.
Configure a estrutura de diretórios no repositório para que os arquivos de origem sejam separados dos arquivos de pacote. Trabalhando com o estudo de caso CustomNodeModel, coloque o projeto do Visual Studio e todos os arquivos associados em uma nova pasta src
. Todos os pacotes gerados pelo projeto serão armazenados nessa pasta. A estrutura de pastas deve ter este aspecto:
Mover os arquivos de projeto para a nova pasta
src
Agora que os arquivos de origem estão em uma pasta separada, adicione um destino AfterBuild
ao arquivo CustomNodeModel.csproj
no Visual Studio. Isso deve copiar os arquivos necessários para uma nova pasta de pacote. Abra o arquivo CustomNodeModel.csproj
em um editor de texto (usamos o Atom) e coloque o destino da compilação antes do identificador de fechamento </Project>
. Esse destino AfterBuild copiará todos os arquivos .dll, .pbd, .xml e .config para uma nova pasta bin e criará as pastas dyf e extras.
Precisamos ter certeza de que o destino foi adicionado ao arquivo
CustomNodeModel.csproj
(não a outro arquivo de projeto) e que o projeto não tem nenhuma configuração Pós-compilação existente.
Colocar o destino AfterBuild antes do identificador
</Project>
final.
Na seção <ItemGroup>
, são definidas um número de variáveis para representar tipos de arquivo específicos. Por exemplo, a variável Dll
representa todos os arquivos no diretório de saída cuja extensão é .dll
.
O objetivo da tarefa Copy
é copiar todos os arquivos .dll
para um diretório, especificamente a pasta de pacotes para a qual estamos compilando.
Os pacotes do Dynamo normalmente têm uma pasta dyf
e extra
para os nós personalizados do Dynamo e outros recursos, como imagens. Para criar essas pastas, é preciso usar uma tarefa MakeDir
. Essa tarefa criará uma pasta se ela não existir. É possível adicionar arquivos manualmente a essa pasta.
Se você compilar o projeto, a pasta do projeto agora deverá ter uma pasta packages
junto com a pasta src
criada anteriormente. Dentro do diretório packages
, há uma pasta que contém tudo o que é necessário para o pacote. Também precisamos copiar o arquivo pkg.json
para a pasta do pacote para que o Dynamo saiba como carregar o pacote.
A nova pasta de pacotes que o destino AfterBuild criou
A pasta src existente com o projeto
As pastas
dyf
eextra
criadas no destino AfterBuildCopiar manualmente o arquivo
pkg.json
.
Agora você pode publicar o pacote usando o gerenciador de pacotes do Dynamo ou copiá-lo diretamente para o diretório de pacotes do Dynamo: <user>\AppData\Roaming\Dynamo\1.3\packages
.