This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| comfilepi:dotnet:index [2026/02/20 15:37] – created - external edit 127.0.0.1 | comfilepi:dotnet:index [2026/06/09 18:02] (current) – admin | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| The .NET ecosystem has bifurcated into two flavors: | 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: | 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. | - Using .NET Framework 4, with the application running on the Mono runtime. | ||
| - Using .NET 5+ and a .NET port of Mono WinForms like our [[winforms: | - Using .NET 5+ and a .NET port of Mono WinForms like our [[winforms: | ||
| In general, it is recommended to use the latest version of .NET unless you have a compelling reason not to. | 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+ ===== | ===== When to Choose .NET 5+ ===== | ||
| Line 17: | Line 18: | ||
| You might choose to use .NET under the following scenarios: | You might choose to use .NET under the following scenarios: | ||
| + | |||
| * You are embarking on development of a new solution, and | * 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: | * Your .NET developers are willing to adopt a cross-platform UI framework that supports Linux like the following: | ||
| Line 28: | Line 30: | ||
| * If you would prefer WinForms with a more modern appearance, consider our [[jcontrols: | * If you would prefer WinForms with a more modern appearance, consider our [[jcontrols: | ||
| - | One of the best ways to make your application portable across all platforms is to use [[https:// | + | One of the best ways to make your application portable across all platforms is to use [[https:// |
| + | |||
| + | 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 [[https:// | ||
| + | |||
| + | For Blazor Hybrid applications on Linux, consider using the open-source [[https:// | ||
| NOTE: [[https:// | NOTE: [[https:// | ||
| + | |||
| ==== Advantages ==== | ==== Advantages ==== | ||
| Line 36: | Line 43: | ||
| * New features, tooling enhancements, | * New features, tooling enhancements, | ||
| * Code targeting .NET can be natively compiled, providing performance benefits as well as protection against code disassembly. | * 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. | + | * Code targeting .NET can 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 | + | * .NET has the broadest platform support, **IF** you can decide |
| * Windows | * Windows | ||
| * Linux | * Linux | ||
| Line 49: | Line 56: | ||
| * If using WinForms, it requires a [[winforms: | * If using WinForms, it requires a [[winforms: | ||
| * If using a cross-platform UI framework, it may not be possible to use a WYSIWYG UI designer like that provided by WinForms in Visual Studio. | * If using a cross-platform UI framework, it may not be possible to use a WYSIWYG UI designer like that provided by WinForms in Visual Studio. | ||
| - | * Requires a.NET port of Mono WinForms to run WinForms programs on Linux. | + | * Requires a .NET port of Mono WinForms to run WinForms programs on Linux. |
| - | + | ||
| ===== When to Choose .NET Framework 4 ===== | ===== When to Choose .NET Framework 4 ===== | ||
| Line 57: | Line 62: | ||
| [[: | [[: | ||
| - | You might choose to use the .NET Framework 4 under the following scenarios: | + | You might choose to use .NET Framework 4 under the following scenarios: |
| - | * You have an existing .NET Framework 2.0 ~ 4.x application that you need to port to Linux | + | |
| - | * Your .NET developers are not familiar with any cross-platform UI frameworks (e.g. [[https:// | + | * You have an existing .NET Framework 2.0 ~ 4.x application that you need to port to Linux. |
| + | * Your .NET developers are not familiar with any cross-platform UI frameworks (e.g. [[https:// | ||
| ==== Advantages ==== | ==== Advantages ==== | ||
| - | * Works on both Windows (natively) and Linux (via Mono) | + | * Works on both Windows (natively) and Linux (via Mono). |
| - | * For developers already familiar with Winforms, it does not require learning a new UI framework. | + | * For developers already familiar with WinForms, it does not require learning a new UI framework. |
| ==== Disadvantages ==== | ==== Disadvantages ==== | ||
| - | * Although | + | * Although .NET Framework 4 is being [[https:// |
| - | * The Mono implementation on Linux, while being a remarkable engineering achievement, | + | * The Mono implementation on Linux, while being a remarkable engineering achievement, |
| - | * Code targeting | + | * Code targeting .NET Framework 4 can only be run on Windows and platforms with a functioning Mono runtime. |
| - | * Code targeting | + | * Code targeting .NET Framework 4 cannot be compiled to machine code and can be easily disassembled. |
| ===== Targeting Both .NET 5+ and .NET Framework 4 ===== | ===== 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 [[https:// | + | If you need to develop a library for use in both .NET Framework 4 and .NET 5+, use [[https:// |
| - | + | ||
| - | Note that by targeting .NET Standard, you will likely be limited to just creating utility libraries (e.g. Modbus communication, | + | |
| + | Note that by targeting .NET Standard, you will likely be limited to creating utility libraries (e.g. Modbus communication, | ||
| ===== Technical Support Policy ===== | ===== 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. | + | COMFILE Technology does not provide technical support for Visual Studio and .NET technologies. |
| + | Please contact Microsoft directly for support regarding their products and technologies. | ||
| [[comfilepi: | [[comfilepi: | ||