.net core zdalne kompilowanie

0

Słuchajcie, jestem trochę noga z sieci. W jaki sposób mogę skompilować zdalnie aplikację .net core, żeby np. działała na linuxie? Myślałem o tym, żeby zrobić sobie na kompie virtualboxa, ale stwierdziłem, że nie chce mi się pożyczać Ramu (mam go 16GB). Wpadłem na pomysł, żeby kupić sobie jakiegoś używanego lapka i na nim postawić linuxa, a potem podłączyć go do sieci, ale wtedy nie wiem jak zrobić, żeby ta aplikacja (pisana np. na vs code) się przez ową sieć na tym używańcu skomplilowała. A już o debagowaniu to nie wspomnę.

Zatem, czy wie ktoś z was jak to zrobić? Swoją drogą nie instalowałem jeszcze vs code. Może on ma jakieś funkcjonalności do tego celu.

0

Nie musisz mieć w ogóle Linuksa, aby skompilować dla Linuksa. Możesz to zrobić po prostu w linii poleceń:

dotnet publish -c Release -r ubuntu.16.04-x64

Potem kopiujesz, uruchamiasz i po prostu działa.

A w zasadzie to nawet nie musisz robić takiego publisha, powinno zadziałać i tak, po prostu kopiujesz to, co masz na Windows i normalnie uruchamiasz przez dotnet run.

0
Ktos napisał(a):

Nie musisz mieć w ogóle Linuksa, aby skompilować dla Linuksa. Możesz to zrobić po prostu w linii poleceń:

dotnet publish -c Release -r ubuntu.16.04-x64

Potem kopiujesz, uruchamiasz i po prostu działa.

A w zasadzie to nawet nie musisz robić takiego publisha, powinno zadziałać i tak, po prostu kopiujesz to, co masz na Windows i normalnie uruchamiasz przez dotnet run.

Właśnie też tak coś mi się tliło w głowie. No dobra, to kompilacja. A co z debagowaniem? Debaguje w windzie, a potem jak już mam pewność, że wszystko działa, to kompiluję tak, jak napisałeś?

Jeszcze jedno - podaj mi jakiś link do dokumentacji, gdzie jest to wszystko opisane. Domyślam się, że chodzi o microsoft. Chodzi mi o jakąś dokumentację, gdzie są opisane te wszystkie linie poleceń.

A co w takim razie z mało już modnymi apkami winform? Czy je też tak można skompilować? Wydaje mi się, że chyba nie, bo to by nawet nie było zgodne z docs.microsoft.com i generalnie .net framework.

2

Właśnie też tak coś mi się tliło w głowie. No dobra, to kompilacja. A co z debagowaniem? Debaguje w windzie, a potem jak już mam pewność, że wszystko działa, to kompiluję tak, jak napisałeś?

Jeżeli masz zdalną maszynę Linuksową, na której działa twoja aplikacja, to też możesz ją debugować - tylko musisz mieć dostęp przez SSH. Przejrzyj: https://blogs.msdn.microsoft.com/devops/2017/01/26/debugging-net-core-on-unix-over-ssh/

Jeszcze jedno - podaj mi jakiś link do dokumentacji, gdzie jest to wszystko opisane. Domyślam się, że chodzi o microsoft. Chodzi mi o jakąś dokumentację, gdzie są opisane te wszystkie linie poleceń.

Wszystkie możliwości polecenia dotnet masz tutaj, a sam deploy opisany jest tutaj.

A co w takim razie z mało już modnymi apkami winform? Czy je też tak można skompilować? Wydaje mi się, że chyba nie, bo to by nawet nie było zgodne z docs.microsoft.com i generalnie .net framework.

Nie do końca rozumiem to zdanie. Co to znaczy, że by nie było zgodne z .NET Framework?

Ale po kolei: istnieje coś takiego jak .NET Standard. Tenże standard zakłada, że istnieją i są dostępne pewne API. Obecnie .NET Core (który działa na wielu platformach) oraz .NET Framework (który działa tylko na Windows) implementują go, więc potrafią to samo. Ale myk jest taki, że .NET Framework implementuje .NET Standard, i do tego dokłada jeszcze trochę. Czyli tego .NET Standard możesz rozszerzać. I co ważniejsze - nie mówi obecnie nic na temat implementacji jakichkolwiek aplikacji graficznych.

Aplikacje WinForms możesz uruchomić pod Linuksem korzystając z Mono (które implementuje .NET Standard, ale zawiera też m.in. System.Windows.Forms). .NET Core nie zawiera obsługi aplikacji innych niż konsolowe (i ASP.NET, które też są konsolowe).

.NET Core nie obsługuje WinForms choćby z tego powodu, że są one bardzo związane z platformą Windows i przeniesienie ich na inne platformy wymagało by czasu i pracy - a cały WinForms jest już raczej uznawany za przestarzały, na rzecz WPF i UWP.

0

Nie do końca rozumiem to zdanie. Co to znaczy, że by nie było zgodne z .NET Framework?

Nie, po prostu trochę nie douczony jestem i chyba niepoprawnie zrozumiałem dokumentację albo po prostu coś sam sobie dopowiedziałem. Wydawało mi się po prostu przez chwilę (nie biorąc pod uwagę, że winform jest właściwie historią), że apki winform można też kompilować i odpalać na linuxie oraz osX. Tzn. wyczytałem, że .net framework pozwala na tworzenie apek tylko pod winde. Potem przeczytałem, że jest coś takiego, jak .net core i zacząłem zadawać sobie różne pytania np.:
Czy w .net core można stworzyć apkę winform, a potem skompilować ją na linuxa? Jak do tej pory doczytałem, że chyba nie można i dlatego w poście napisałem, że .net Framework chyba nie pozwala na takie cuda jak winform skompilowane na linuxa;-))))))

1 użytkowników online, w tym zalogowanych: 0, gości: 1