Nie można uzyskać, aby System.Numerics działał z wierszem poleceń Mono (mcs) w systemie OS X
Próbujemy uruchomić prosty skrypt Mono w wierszu poleceń na OS X. Większość skryptów działa dla nas dobrze, ale jak tylko spróbujemy użyć System.Numerics, otrzymamy „błąd CS0234: nazwa typu lub przestrzeni nazw` Numerics „nie istnieje w systemie przestrzeni nazw”.
Nie jest to zbyt zaskakujące i powinno być możliwe do naprawienia za pomocą odpowiedniej opcji wiersza poleceń dla mcs, a także poprawnie skonfigurowanego PKG_CONFIG_PATH ... ale to jest miejsce, w którym mamy problemy. Po pierwsze, oto skrypt, dzięki któremu możesz śledzić w domu:
using System;
using System.Numerics;
public static class MainProgram {
public static void Main(string[] args) {
Console.WriteLine("Hello world!");
}
}
Następnie spróbowaliśmy „mcs -r: System.Numerics Test.cs”. Powoduje to „błąd CS0006: nie można znaleźć pliku metadanych` System.Numerics ””.
„man mcs” sugeruje, że możemy pobrać inne pakiety systemowe, dodając „-pkg: dotnet” do wiersza poleceń. Ale to powoduje:
Pakiet dotnet nie został znaleziony w ścieżce wyszukiwania pkg-config. Być może powinieneś dodać katalog zawierający `dotnet.pc 'do zmiennej środowiskowej PKG_CONFIG_PATH Nie znaleziono pakietu' dotnet 'błąd CS8027: Błąd podczas uruchamiania pkg-config. Sprawdź powyższe dane wyjściowe.
OK, nie mieliśmy PKG_CONFIG_PATH, więc próbowaliśmy zdefiniować jeden:
export PKG_CONFIG_PATH=/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig/
To naprawia CS8027; ale wciąż otrzymujemy CS0234, od którego zaczęliśmy. A jeśli połączę -pkg i -r, np. "mcs -pkg: dotnet -r: System.Numerics Test.cs", I get "błąd CS0006: Nie można znaleźć pliku metadanych` System.Numerics '".
W tym momencie jestem zakłopotany ... jakikolwiek pomysł, jakiej brakuje inkantacji, aby System.Numerics działał z mcs?