# About the Project.Json File

> `Project.json` is an automatically generated file which is created for each `.xaml` file marked as **Main** in the project folder.

`Project.json` is an automatically generated file which is created for each `.xaml` file marked as **Main** in the project folder.

The file holds varied information, including project dependencies, or web services loaded in libraries. For more information about web services in libraries, check out the [Loading Web Services in Libraries](loading-web-services-in-libraries.md) page.

:::note
**Manually editing the `project.json` file should be attempted for troubleshooting scenarios only, as it may lead to severe consequences and loss of support**.

As of 2018.2, you should specify a `project.json` file when running your project from the UiRobot.exe (command line) client.
:::

The parameters contained in the `Project.json` file are described in the following table.

<colgroup>
<col/>
<col/>
</colgroup>

Parameter

Description

<code>name</code>

The title of the automation project. It is provided in Studio
                              when creating a new process or library.
                           

<code>description</code>

The description of the project. It is provided in the Description
                              field in Studio when a new project is created.
                           

<code>main</code>

The entry point of the automation project. It consists of an
                              <code>.xaml</code> file. The default name is “Main.xaml”. It is displayed both
                              as the title of the Designer panel and in the Properties panel in
                              Studio. If you want to execute a different project first, change the value of this
                              parameter to the name of the <code>.xaml</code> file to be processed.
                           
 If your automation
                              project contains multiple files, each of them should be linked to the
                              <code>Main.xaml</code> file through the Invoke Workflow File
                              activity. This is especially useful when the project is published to Orchestrator
                              and sent to a Robot, as the Robot executes only the file provided in this
                              parameter.

<code>dependencies</code>

The activities packages used to create the automation project and
                              their versions. The list is updated every time a dependency is added or removed from
                              the project, or when a package version changes.
                           
 Version numbers are
                              composed of the following parts, in order: major, minor, build, and revision. The
                              build value is the number of days that elapsed since 01.01.2000. The revision value
                              is the number of seconds which elapsed on the day of the release, starting from 5
                              AM, GMT.

<code>webServices</code>

<code>namespace</code> - The
                                 name of the service provided in the Add new service window for
                                 libraries.
                              
<code>serviceDocument</code>
                                 - The path to the <code>.xml</code> or <code>.json</code> file containing
                                 metadata for the SOAP or Swagger service. The file is used when the service is
                                 repaired, and should be versioned as part of the project.
                              
<code>webDocumentUri</code> -
                                 The file path or link to the Swagger or SOAP resource (provided when the service
                                 is created in the Add new service window).
                              
<code>uniqueReference</code>
                                 - A reference needed for versioning the service.
                              

<code>entitiesStores</code>

<code>serviceDocument</code>
                                 - The path to the local entities file.
                              
<code>tenantName</code> - The
                                 tenant where the Data Service resides.
                              
<code>namespace</code> - The
                                 namespace under which the entities are imported (the project namespace).
                              
<code>uniqueReference</code>
                                 - A reference needed for versioning the service.
                              

<code>schemaVersion</code>

The version of the <code>project.json</code>
                              file.
                           

<code>studioVersion</code>

The version of Studio used to create the automation
                              project.
                           

<code>projectVersion</code>

The version used when publishing this project to a feed.
                              Represents the one set in the Publish window.
                           

<code>runtimeOptions</code>

<code>exceptionHandlerWorkflow</code> - The runtime exception handler for
                                 the process.
                              
<code>autoDispose</code> -
                                 Whether the process supports disposing of IDisposable objects to free up system
                                 resources.
                              
<code>netFrameworkLazyLoading</code> - The option to load referenced
                                 assemblies only if they are used in the project.
                              
<code>isPausable</code> -
                                 Whether pause is enabled for the process
                              
<code>isAttended</code> -
                                 Whether the process allows unattended executions.
                              
<code>requiresUserInteraction</code> - Whether the process is a background
                                 process.
                              
<code>supportsPersistence</code> - Whether the process is a long running
                                 process.
                              
<code>excludedLoggedData</code> - Contains keywords that can be added to
                                 the name of an activity to prevent variable and argument values from being logged
                                 at the Verbose level. That can also be achieved by selecting the Private checkbox
                                 of any activity. Read more about the protection of sensitive information here.
                              
<code>executionType</code> -
                                 The process execution type.
                              
<code>readyForPiP</code> -
                                 Whether the process is marked as PiP ready.
                              
<code>startsInPiP</code> -
                                 Whether the process is configured to start in PiP.
                              
<code>mustRestoreAllDependencies</code> - Whether all project dependencies
                                 are restored.
                              
<code>pipType</code> - The
                                 type of PiP used in the process.
                              

<code>designOptions</code>

<code>projectProfile</code> -
                                 The Studio profile used when the project was created, either Business
                                 (StudioX) or Development.
                              
<code>outputType</code> Shows
                                 the project type, either Process, Library, or Tests.
                              
<code>libraryOptions</code>
<code>includeOriginalXaml</code> - Whether to include original workflow
                                 files in the resulting <code>.nupkg</code> file.
                              
<code>privateWorkflows</code>
                                 - The full name of private <code>.xaml</code> files contained in the
                                 library.
                              
<code>processOptions</code>
<code>ignoredFiles</code> -
                                 List of RPA workflow files ignored from publishing.
                              
<code>fileInfoCollection</code> - Contains the following information for
                                 each test case file in the process: <code>editingStatus</code>
                                 (Publishable or InProgress), <code>testCaseId</code>, and
                                 <code>fileName</code>.
                              
<code>modernBehavior</code> -
                                 Whether the process is configured to use the Modern Design Experience.
                              

<code>arguments</code>

Contains the following information for each
                              <code>input</code> and <code>output</code> argument defined in the
                              workflow file that is set as Main: <code>name</code>, <code>type</code>,
                              whether it is <code>required</code>, and whether it has a default value
                              (<code>hasDefault</code>).
                           
 Arguments information is
                              added only to the file in the <code>.nupkg</code> package after
                              publishing.

<code>expressionLanguage</code>

The language set for the process (VisualBasic or
                              CSharp).
                           

<code>entryPoints</code>

Contains the following information for each file marked as an
                              entry point to the process
                              <code>filePath</code>,
                           
<code>uniqueId</code>. and the following
                              information for each <code>input</code> and <code>output</code> argument in
                              the file: <code>name</code>, <code>type</code>, whether it is
                              <code>required</code>, and whether it has a default value
                              (<code>hasDefault</code>).
                           
 Arguments information is
                              added only to the file in the <code>.nupkg</code> package after
                              publishing.

<code>isTemplate</code>

Whether the project is a template.

<code>templateProjectData</code>

Contains the following information for template projects:

<code>defaultProjectDescription</code> - The default project description
                                 for processes based on the template.
                              
<code>defaultProjectName</code> - The default project name for processes
                                 based on the template.
                              

<code>targetFramework</code>

The target framework set for the project (Legacy, Windows, or
                              Portable).
                           

The following is an example of the contents of a `project.json` file included in a package published from Studio.

```
{
  "name": "UI-40028",
  "description": "Blank Process",
  "main": "Flowchart.xaml",
  "dependencies": {
    "UiPath.Excel.Activities": "[2.9.3]",
    "UiPath.Mail.Activities": "[1.9.3]",
    "UiPath.System.Activities": "[20.10.1]",
    "UiPath.UIAutomation.Activities": "[20.10.6]"
  },
  "webServices": [],
  "entitiesStores": [],
  "schemaVersion": "4.0",
  "studioVersion": "20.10.2.0",
  "projectVersion": "1.0.1",
  "runtimeOptions": {
    "autoDispose": false,
    "isPausable": true,
    "requiresUserInteraction": true,
    "supportsPersistence": false,
    "excludedLoggedData": [
      "Private:*",
      "password"
    ],
    "executionType": "Workflow",
    "readyForPiP": false,
    "startsInPiP": false
  },
  "designOptions": {
    "projectProfile": "Developement",
    "outputType": "Process",
    "libraryOptions": {
      "includeOriginalXaml": false,
      "privateWorkflows": []
    },
    "processOptions": {
      "ignoredFiles": []
    },
    "fileInfoCollection": [],
    "modernBehavior": false
  },
  "arguments": {
    "input": [
      {
        "name": "argument1",
        "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
        "required": false,
        "hasDefault": false
      },
      {
        "name": "argument2",
        "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
        "required": false,
        "hasDefault": false
      }
    ],
    "output": []
  },
  "expressionLanguage": "VisualBasic",
  "entryPoints": [
    {
      "filePath": "Main.xaml",
      "uniqueId": "5289efb0-f8bc-42f3-8cf4-0caa3a7d1915",
      "input": [
        {
          "name": "argument1",
          "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
          "required": false,
          "hasDefault": false
        },
        {
          "name": "argument2",
          "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
          "required": false,
          "hasDefault": false
        }
      ],
      "output": []
    },
    {
      "filePath": "Flowchart.xaml",
      "uniqueId": "d0904ba0-506e-437d-979c-b9da4325faad",
      "input": [
        {
          "name": "argument1",
          "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
          "required": false,
          "hasDefault": false
        },
        {
          "name": "argument2",
          "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
          "required": false,
          "hasDefault": false
        }
      ],
      "output": []
    }
  ],
  "isTemplate": false,
  "templateProjectData": {},
  "publishData": {}
}
```
