Zero touch node: how to create a package using visual studio

Hi all,

I want to try out zero touch node development but I can’t figure out why my packages are nog being created.

For example, I downloaded ZeroTouchEssentials from github. I added the afterbuild events manually (https://github.com/DynamoDS/Dynamo/wiki/Building-a-Package-for-Dynamo-in-Visual-Studio) and then set ‘start external program’ to dynamo (sandbox edition).

A package should then be created right? I cannot find it in the Dynamo package folder, but it isn’t in the bin/debug folder either.

I should now have a pkg.json file right? This is not created.

Am I missing a step?

Thanks!

When doing the debugging, Visual Studio should generate a .dll file that then is loaded into your Sandbox environment. This will show the .dll as a “Package” as a line item in Dynamo to add the nodes that you have created. But, as soon as you close the debugging session, that “Package” is no longer available to the application, i.e. Sandbox.

To create an acutal package after you are done debugging, you will have to open Dynamo for Revit to create the package file, which will create the folders and files necessary to then deploy for others.

I just went through this process, so fire away with questions. :grinning:

I can see some dll files being created. So then there is probably an error with copying this to the dynamo folder?

Is there a manual way to copy the files in order to test this? If I copy them into a folder in the Package directory then they are not seen in Dynamo.

Did you unload the project and add in the AfterBuild Xcopy information? Or you should be able to do that in the Debug > Properties > Build Events.

Hi Michael,

How do your post-build events look like?
If you want to use the Dynamo Sandbox from inside VisualStudio you should copy the generated dll files directly into path: “$(AppData)\Dynamo\Dynamo Core\1.3\packages\$(ProjectName)\bin\”

The pkg.json file is not generated automatically.
Best is to use an existing one and adjust it to your needs. Important is to put your dlls into “node_libraries” parameter. Then copy this file into the below folder using post-build or manually.
“$(AppData)\Dynamo\Dynamo Core\1.3\packages\$(ProjectName)\”

Best, Eckart

I would checkout the DynamoSamples repo. It has some steps to generate a package - I think it’s more up to date than the essentials repo.

Check out this great tutorial by @teocomi

2 Likes

I manually added a pkg.json file file to the project and added the post-build events. That did the trick, but I am still somewhat confused. I’ll check out the tutorial by DynamoUnchained to see if that helps me.

Thank you all for the help!

Worked through the first part of the tutorial. Everything is clear now :smiley:

Thanks again!

1 Like