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
  • AggressivelyPassive
    link
    fedilink
    69 months ago

    The “Win” in Winforms stands for Windows, capital W. It’s simply not available for Linux.

      • @breadsmasher
        link
        English
        109 months ago

        From the FAQ

        A small driver is required for each operating system supported. Currently we have drivers for: X Window System Win32 Window System macOS Window System

        so I think you’re right

      • @cbarrick
        link
        English
        1
        edit-2
        9 months ago

        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.