.NET (C# & VB.Net)
The .NET ecosystem has bifurcated into two flavors:
“.NET Framework” now refers to the .NET Framework as it was up until and including version 4.
“.NET” now refers to the .NET Framework version 5 and later (previously called “.NET Core”), currently at .NET 10.
WinForms applications can be run on Linux panel PCs like the ComfilePi using one of the following configurations:
Using .NET Framework 4, with the application running on the Mono runtime.
-
In general, it is recommended to use the latest version of .NET unless you have a compelling reason not to.
When to Choose .NET 5+
Using .NET on the ComfilePi
You might choose to use .NET under the following scenarios:
You are embarking on development of a new solution, and
Your .NET developers are willing to adopt a cross-platform UI framework that supports Linux like the following:
-
If you would prefer WinForms with a more modern appearance, consider our
jControls library.
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.
Advantages
It is being actively maintained and developed by Microsoft.
New features, tooling enhancements, and performance benefits are being released every year.
Code targeting .NET can be natively compiled, providing performance benefits as well as protection against code disassembly.
Code targeting .NET an be used to make libraries that can be consumed by other languages like C, Python, and many others.
.NET has the broadest platform support, IF you can decided on a cross-platform UI framework. .NET supports the following platforms
Windows
Linux
Android
MacOS
iOS
Web Browser
Disadvantages
When to Choose .NET Framework 4
Advantages
Works on both Windows (natively) and Linux (via Mono)
For developers already familiar with Winforms, it does not require learning a new UI framework.
Disadvantages
-
The Mono implementation on Linux, while being a remarkable engineering achievement, is not perfect, and may require some workarounds.
Code targeting the .NET Framework 4 can only be run on Windows, and platforms with a functioning Mono runtime.
Code targeting the .NET Framework 4 cannot be compiled to machine code, and can be easily disassembled.
Targeting Both .NET 5+ and .NET Framework 4
If you need to develop a library for use in both the .NET Framework 4 and .NET 5+, use .NET Standard 2.0.
Note that by targeting .NET Standard, you will likely be limited to just 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.
Technical Support Policy
COMFILE Technology does not provide technical support for Visual Studio and .NET Technologies. Please contact Microsoft directly for support for their products and technologies.
ComfilePi - Industrial Raspberry Pi Panel PC