User Tools

Site Tools

한국어

comfilepi:dotnet:index

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
comfilepi:dotnet:index [2026/02/20 15:37] – created - external edit 127.0.0.1comfilepi: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:
 +
   * **".NET Framework"** now refers to the .NET Framework as it was up until and including version 4.   * **".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.   * **".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: 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:index|ComfileTech.WinForms]] library.   - Using .NET 5+ and a .NET port of Mono WinForms like our [[winforms:index|ComfileTech.WinForms]] library.
  
 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:index|jControls library]].   * If you would prefer WinForms with a more modern appearance, consider our [[jcontrols:index|jControls library]].
  
-One of the best ways to make your application portable across all platforms is to use [[https://dotnet.microsoft.com/en-us/apps/aspnet/web-apps/blazor|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 [[https://learn.microsoft.com/en-us/aspnet/core/blazor/hybrid/|Blazor Hybrid]].  For Blazor Hybrid applications on Linux, consider using the open-source [[https://github.com/JinShil/BlazorWebView|BlazorWebView]].+One of the best ways to make your application portable across all platforms is to use [[https://dotnet.microsoft.com/en-us/apps/aspnet/web-apps/blazor|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 [[https://learn.microsoft.com/en-us/aspnet/core/blazor/hybrid/|Blazor Hybrid]]. 
 + 
 +For Blazor Hybrid applications on Linux, consider using the open-source [[https://github.com/JinShil/BlazorWebView|BlazorWebView]].
  
 NOTE: [[https://dotnet.microsoft.com/en-us/apps/maui|Maui]] does not currently support Linux. NOTE: [[https://dotnet.microsoft.com/en-us/apps/maui|Maui]] does not currently support Linux.
 +
 ==== Advantages ==== ==== Advantages ====
  
Line 36: Line 43:
   * New features, tooling enhancements, and performance benefits are being released every year.   * 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 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 on a cross-platform UI framework.  .NET supports the following platforms+  * .NET has the broadest platform support, **IF** you can decide on a cross-platform UI framework. .NET supports the following platforms:
     * Windows     * Windows
     * Linux     * Linux
Line 49: Line 56:
   * If using WinForms, it requires a [[winforms:index|.NET port of Mono WinForms]] to run on Linux.   * If using WinForms, it requires a [[winforms:index|.NET port of Mono WinForms]] to run on Linux.
   * 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:
 [[:comfilepi:dotnet:dotnet4:index|Using .NET Framework on the ComfilePi]] [[:comfilepi:dotnet:dotnet4:index|Using .NET Framework on the ComfilePi]]
  
-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://dotnet.microsoft.com/en-us/apps/aspnet/web-apps/blazor|Blazor]], [[https://avaloniaui.net/|Avalonia]], [[https://platform.uno/|Uno Platform]], etc.), and are only familiar WinForms.+  * 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://dotnet.microsoft.com/en-us/apps/aspnet/web-apps/blazor|Blazor]], [[https://avaloniaui.net/|Avalonia]], [[https://platform.uno/|Uno Platform]], etc.), and are only familiar with WinForms.
  
 ==== 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 the .NET Framework 4 is being [[https://learn.microsoft.com/en-us/dotnet/framework/whats-new/|maintained by Microsoft]], and Mono is currently being maintained by the [[https://gitlab.winehq.org/mono/mono|Wine project developers]], they are not being further developedand will inevitably be deprecated in the future. +  * Although .NET Framework 4 is being [[https://learn.microsoft.com/en-us/dotnet/framework/whats-new/|maintained by Microsoft]], and Mono is currently being maintained by the [[https://gitlab.winehq.org/mono/mono|Wine project developers]], they are not being further developed and will inevitably be deprecated in the future. 
-  * The Mono implementation on Linux, while being a remarkable engineering achievement, is not perfectand may require some workarounds. +  * 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 Windowsand platforms with a functioning Mono runtime. +  * Code targeting .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 codeand can be easily disassembled.+  * 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://learn.microsoft.com/en-us/dotnet/standard/net-standard|.NET Standard]] 2.0.   +If you need to develop a library for use in both .NET Framework 4 and .NET 5+, use [[https://learn.microsoft.com/en-us/dotnet/standard/net-standard|.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. +
  
 +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.
  
 ===== 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:index|ComfilePi - Industrial Raspberry Pi Panel PC]] [[comfilepi:index|ComfilePi - Industrial Raspberry Pi Panel PC]]
comfilepi/dotnet/index.1771601855.txt.gz · Last modified: by 127.0.0.1