Mam pewien projekt w .NET Framework 4.8, który jest hybrydą aplikacji konsolowej i desktopowej używającej WinForms. W zależności od parametru polecenia lub opcji w pliku konfiguracyjnym, albo pracuje w konsoli, albo uruchamia okienko, które reaguje na naciskane klawisze użytkownika.
Najpierw zacząłem pracę na Windows, w programie SharpDevelop, później na Linux rozwijałem za pomocą MonoDevelop. Aplikacja działa zgodnie z oczekiwaniem na Linux poprzez mono i na Windows poprzez .NET. Formularz nie był w ogóle robiony za pomocą narzędzi do robienia formatki, tylko jego tworzenie, dodanie kontrolek i zdarzeń było pisane z palca.
Chciałbym tą aplikację przerobić na .NET 6.0. Zainstalowałem na Linux Visual Studio Code, skonfigurowałem i utworzyłem "Hello world" na podstawie tego nagrania.
Próbuję dodać pakiety w ten sposób:
dotnet add package System.Windows.Forms
dotnet add package System.Drawing
Pokazuje taki błąd:
Trwa określanie projektów do przywrócenia...
Writing /tmp/tmps3xgk2.tmp
info : X.509 certificate chain validation will use the fallback certificate bundle at '/usr/share/dotnet/sdk/6.0.403/trustedroots/codesignctl.pem'.
info : Dodawanie elementu PackageReference dla pakietu „System.Windows.Forms” do projektu „/media/xxx/WORK1/__ToBackup/Develop/Csharp/VSC/HelloWorld/HelloWorld2/HelloWorld2.csproj”.
info : CACHE https://api.nuget.org/v3/registration5-gz-semver2/system.windows.forms/index.json
info : CACHE https://api.nuget.org/v3/registration5-gz-semver2/system.windows.forms/index.json
error: Brak dostępnych wersji pakietu „System.Windows.Forms”.
Jak spróbuję dodac pakiet w ten sposób, to też się nie udaje, pokazuje, że nie ma takiego projektu i katalogu:
dotnet add HelloWorld2.csproj reference System.Windows.Forms
W jaki sposób można dodać pakiet System.Drawing
(potrzebny do malowania na bitmapie) i pakiet System.Windows.Forms
potrzebny do wyświetlenia okna z bitmapą?