This is an old revision of the document!
This page applies to COMFILE Technology's Linux platforms, including ComfilePi, Raspberry Pi, jPC, and other Linux-based devices.
You can develop C# and VB.NET applications on Linux using Microsoft .NET.
Windows WinForms applications can also run on Linux using either ComfileTech.WinForms or Mono.
| Scenario | Recommended Option |
|---|---|
| Starting a new project | .NET 5+ (Recommended) |
| Want to continue using WinForms with modern .NET | ComfileTech.WinForms |
| Porting an existing .NET Framework application to Linux | Mono |
Modern .NET is Microsoft's current development platform and is recommended for most new projects.
Benefits include:
Supported platforms include:
For user interface development, consider one of the following frameworks:
For more information:
ComfileTech.WinForms allows traditional WinForms applications to run on both Windows and Linux while using modern .NET.
This is often the easiest migration path for developers who are already familiar with WinForms and want to continue using the Visual Studio designer.
For more information:
Mono allows existing .NET Framework applications to run on Linux. This option is useful when:
While Mono remains a practical solution for existing applications, it is generally not recommended for new projects.
For more information:
If you need a library that works with both .NET Framework 4.x and modern .NET, consider targeting .NET Standard 2.0.
This approach is particularly useful for reusable libraries such as:
COMFILE Technology does not provide technical support for Visual Studio, C#, VB.NET, or Microsoft .NET technologies.
For support related to Microsoft products, please contact Microsoft directly.
The .NET ecosystem has bifurcated into two flavors:
WinForms applications can be run on Linux panel PCs like the ComfilePi using one of the following configurations:
In general, it is recommended to use the latest version of .NET unless you have a compelling reason not to.
You might choose to use .NET under the following scenarios:
One of the best ways to make your application portable across all platforms is to use Blazor.
If you can isolate your UI into a single .NET assembly, you can not only display your UI remotely in a web browser, but you can also host your UI in a WebView on any platform using Blazor Hybrid.
For Blazor Hybrid applications on Linux, consider using the open-source BlazorWebView.
NOTE: Maui does not currently support Linux.
Using .NET Framework on the ComfilePi
You might choose to use .NET Framework 4 under the following scenarios:
If you need to develop a library for use in both .NET Framework 4 and .NET 5+, use .NET Standard 2.0.
Note that by targeting .NET Standard, you will likely be limited to creating utility libraries (e.g. Modbus communication, GPIO, I2C, Serial Communication, TCP/IP communication, etc.), but that can still be very helpful in maximizing your solution's portability.
COMFILE Technology does not provide technical support for Visual Studio and .NET technologies.
Please contact Microsoft directly for support regarding their products and technologies.