All I did was create a new process project as I always do from the same template I’ve used many times. This time there is a new file in the main project folder, named bindings.json
I code my process like usual, test via Debug in studio, all is well. Go to publish to Orchestrator and get an error that access to bindings.json is denied.
I had to explicitly right-click the bindings.json file and check it out before I could publish this process.
I checked the template’s project folder and there is no bindings.json file, so that’s not where it came from.
And now I just noticed that after publishing, the bindings.json file is gone.
The bindings.json file (and its v2 counterpart) are files that are generated as you are publishing your project from Studio as a package. Once publishing has finished, the bindings.json file along with any .dll files should be cleaned from your project directory. If they remain, the cleanup didn’t work properly.
The file contains a list of resources named in your process (mainly assets). When you add a new process (or edit an existing one) from the Processes tab of Orchestrator, you can see that one of the screens is named “Package Requirements”. This screen reads the information from this bindings.json file that is nested inside your published code, prompting you to create/connect any missing resources in the folder where you are creating/editing the process.
For example, if your project contains a Get Asset activity to fetch "OutputFolderPath" from Orchestrator, bindings.json will contain an entry for an asset named OutputFolderPath. When you add a process that uses your package, “Package Requirements” will instruct you to add an asset called OutputFolderPath if it does not already exist.
When you got the error that “access to bindings.json is denied”, this is because Studio is expecting to be able to create a bindings.json file, but as it already exists in the project its locked for editing. Simply delete the file, close and reopen Studio, and try publishing again.