Contributing

Code conventions

We use EditorConfig to automatically use correct coding conventions.

System Requirements

These are the system requirements for developing and/or contributing to Eto.Forms. Note that these are not necessarily the same requirements for running Eto.Forms apps, which are outlined in Supported Platforms.

Windows

On Windows, you can target WPF, WinForms and GTK.

Notes:

  • Can build but not run Mac64 applications, and can’t build macOS applications

macOS

On macOS, you can target Mac64, macOS and GTK.

Notes:

  • Can build but not run WPF or WinForms applications

Linux

On Linux, you can target GTK.

Notes:

  • Can build but not run WPF, WinForms or Mac64 applications, and can’t build macOS applications

Building

To build, open src/Eto.slnx in your IDE, or use the VS Code tasks.

To build Eto.Forms and associated NuGet packages outside of your IDE, you can run build.sh (macOS/Linux) or build.cmd (Windows) from the root of the repository. You can also pass a version to these scripts, e.g. ./build.sh 2.14.0 or build.cmd 2.14.0. See Versioning for how versions and releases work.

Pull Requests

Ensure your pull request builds and passes all checks. A check or X will show next to your pull request on github showing you the build status.

Contributing Guidelines

  1. You agree to the licensing terms

Eto.Forms is BSD-3 Licensed. By sending a pull request, you agree to license your contributions by the same license.

In this section