Development environment
A framework control project is created within a solution in Visual Studio. Multiple framework control projects and associated HMI projects can be placed in a solution. A framework control project can be configured using the standard Visual Studio functions (for example, Build Solution).
A framework control project contains the following elements when it is created:
![Development environment 1:](Images/png/4934077451__Web.png)
- References: This project node is not required and is automatically provided by the project type in Visual Studio.
- Icons: This folder contains all icons relating to the control.
- Icon: The .png elements are control icons in different sizes.
- Schema: This folder contains JSON schema files that are required for the control. Additional JSON schema files for project-specific data types can be added to this folder.
- ControlDescription.Schema.json: Standard schema describing Description.json.
- Themes: This folder contains all themes relating to the control. New themes can be added to this folder.
- Base: This folder contains the base theme of the control. Additional theme-based files can be added to this folder.
- Image: This folder serves as a container for images that are assigned to the base theme.
- Style.css: This stylesheet file contains the properties for the base theme.
- Description.json: This file contains all Engineering interfaces for the TwinCAT HMI
- Mainfest.json: This file describes control data required for creating a TwinCAT HMI package.
- Source.js: This file contains the JavaScript logic required for the control.
- Style.css: This file contains all style properties that are to apply to the control regardless of the theme.
- Template.html: This file contains the static HTML framework of the control and is included in the HMI as HTML code for the control during subsequent instantiation on the HMI.
![]() | Please note from version 1.8 To program framework controls, a full version of Visual Studio is required for editing the HTML, CSS, and JavaScript code. The Visual Studio shell is not sufficient. |