Jump to content

# Mono (Polski)

3 languages

- English
- Español
- 日本語

From ArchWiki
Translation Status: This article is a localized version of Mono. Last translation date: 2024-05-01. You can help to synchronize the translation, if there were changes in the English version.

Z Wikipedii:

  Mono – zestaw narzędzi umożliwiający uruchamianie programów stworzonych dla platformy .NET Framework, w skład których wchodzi między innymi kompilator języka C# oraz środowisko CLR (Common Language Runtime).

## Instalacja

Zainstaluj pakiet mono.

Jeśli potrzebujesz obsługi VisualBasic.Net, musisz zainstalować interpreter VisualBasic.Net z pakietem mono-basicAUR.

Note: Instalacja pakietu przechowuje urzędy certyfikacji w `/usr/share/.mono/certs/Trust/`, ale usunięcie pakietu ich nie usuwa.[1]

## Uruchamianie aplikacji Mono

Pliki binarne Mono można uruchomić ręcznie wywołując `mono`:

    $ mono nazwa_programu.exe

Można również wykonywać pliki binarne Mono bezpośrednio, tak jak natywne pliki binarne:

    $ chmod 755 nazwa_programu.exe
    $ ./nazwa_programu.exe

## Testowanie Mono

Make a new file:

    test.cs

    using System;

    public class Test {
     public static void Main(string[] args) {
      Console.WriteLine("Hello World!");
     }
    }

Następnie uruchom:

    $ mcs test.cs
    $ mono test.exe
    Hello world!

## Programowanie

OmniSharp zapewnia wtyczki/integracje programistyczne .NET/Mono dla kilku edytorów, w tym Vim, Emacs i Visual Studio Code.

Alternatywnie, można zainstalować riderAUR. Jeśli zainstalujesz Ridera nie z AUR, będziesz musiał zainstalować mono-msbuild, ponieważ ostatnie wersje Ridera porzuciły wsparcie xbuild na rzecz MSBuild z net-core.

Jeśli chcesz mieć przeglądarkę dokumentacji API i kilka narzędzi do testowania i programowania, musisz zainstalować mono-tools.

## Rozwiązywanie problemów

### Otrzymuję błąd, gdy próbuję uruchomić pliki Mono bezpośrednio: "cannot execute binary file"

Obsługa binfmt_misc dla Mono nie została jeszcze skonfigurowana, jak wyjaśniono szczegółowo na stronie Mono Project website.

Aby to naprawić, zrestartuj usługę `systemd-binfmt`.

### Otrzymuję błąd uzgadniania TLS (lub podobny oparty na certyfikacie)

Może to być spowodowane brakiem certyfikatów w magazynie certyfikatów Mono lub nieaktualnymi uszkodzonymi certyfikatami pozostającymi w magazynie certyfikatów Mono.

Jeśli to możliwe, upewnij się, że systemowy magazyn certyfikatów jest w dobrym stanie, uruchamiając `curl -vI` lub podobne polecenie, aby zreplikować nieudane żądanie poza Mono.

- `cert-sync /etc/ssl/certs/ca-certificates.crt` synchronizuje magazyn mono z magazynem systemowym, dodając brakujące certyfikaty.
- Aby usunąć uszkodzone certyfikaty (jeśli powyższe nie pomogło), należy usunąć katalog `/usr/share/.mono`, a następnie ponownie uruchomić `cert-sync /etc/ssl/certs/ca-certificates.crt`.
- W ostateczności, starsze narzędzie `mozroots --import --ask-remove` omija systemowy magazyn certyfikatów i bezpośrednio pobiera magazyn zaufania Mozilli. To również nie usuwa uszkodzonych certyfikatów i może powodować inne problemy, jeśli polegasz na prywatnych urzędach certyfikacji.

Zarówno `cert-sync` jak i `mozroots` są częścią pakietu mono.

## Zobacz także

- Oficjalna strona Mono
- Podręcznik Mono
- Dokumentacja API Mono
- ECMA-334: Specyfikacja języka C#
- ECMA-335: Common Language Infrastructure (CLI)
- Instrukcje uruchamiania aplikacji Mono

Category:

- Frameworks (Polski)