Hi Lemmings, I wondered if anyone had successfully created a C# project that uses winforms on linux.
I just can’t figure out how to do it.
I use Arch and have full dotnet 6 and 8 packages; but I can’t dotnet new winforms
as the template seems to not exist.
I also have installed mono and monodevelop installed, but even the simplest solution (Console App) can’t load correctly (currently I have /usr/share/dotnet/sdk/8.0.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.DefaultItems.Shared.targets(152,5) : error MSB4062: The "CheckForImplicitPackageReferenceOverrides" task could not be loaded from the assembly /usr/share/dotnet/sdk/8.0.102/Sdks/Microsoft.NET.Sdk/targets/../tools/net472/Microsoft.NET.Build.Tasks.dll. Invalid Image Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.
but there were different similar errors before, these errors.
I don’t really want to boot up a VM every time I have to code on that project, but I’m starting to feel desperate about this.
TLDR: How does one create and work on a WinForms C# project with linux ? Any suggestions are welcome
Some clarifications for future readers :
- It is for a school group project; winforms in imposed, which sadly won’t let me go with Avalonia
The “Win” in Winforms stands for Windows, capital W. It’s simply not available for Linux.
Mono has some docs that imply they have implemented WinForms on X11.
https://www.mono-project.com/docs/gui/winforms/
From the FAQ
so I think you’re right
Official source (emphasis mine)
Of course Microsoft implemented it “for Windows”.
The Mono project implements many of the .Net APIs in a portable way for other operating systems, including an implementation of WinForms on X11.
OP specifically mentioned that they were using Mono.