Merhabalar;
Bu yazımda Raspberry Pi gibi Linux işletim sistemi yüklü cihazlarda alışık olduğumuz C# ile yazılmış Windows uygulamalarının nasıl çalıştırılabileceğini anlatacağım.
Aslında Linux’da C# ile proje yapmak istiyorsak .Net Core kullanmak en doğru yöntem fakat .Net Core öğrenmek için henüz fırsat bulamayan geliştiricilerin veya önceden yazılmış küçük programlarını Raspberry Pi’de çalıştırmak isteyenlerin çok işine yarayacak olan “Mono” ile exe dosyalarının nasıl yürütüleceğine bakalım.
Not: Öncelikle büyük programların ki aslında büyükten kastım içerisinde farklı 3. parti tool’lar kullandığınız veya henüz Mono tarafından desteklenmeyen işlevlerin olduğu programlarda sorunlar yaşayabilirsiniz.
Rasppbery Pi cihazımıza ssh bağlantı yaparak öncelikle güncel versiyon kullandığımızı kontrol edelim
sudo apt-get update
sudo apt-get upgrade
Şimdi “Mono” kurarak devam ediyoruz;
sudo apt-get install mono-runtime
Mono uygulamalarımızda Rest çağrıları yapabilmek için kök sertifikası eklememiz gerekiyor
sudo mozroots --import --ask-remove --machine
Şimdi Visual Studio ile bir Console Application projesi oluşturuyoruz, ve klasik “Merhaba Dünya” uygulamamızı kodluyoruz.
public class MerhabaDunya
{
static public void Main()
{
Console.WriteLine("İlk Raspberry Pi C# Uygulamama Hoşgeldiniz");
}
}
WinForm uygulamalarını da çalıştırabilirsiniz, fakat winform uygulaması çalıştırmak istiyorsanız uzak ssh kullanamazsınız, Raspberry Pi’ye bir ekran, klavye ve mouse bağlayarak veya VNC ile remote bağlantı sağlayarak kendi üzerinden konsola girerek aşağıda vereceğim kodları çalıştırmanız gerekecektir. Aksi taktirde “Display” ile alakalı hata dönecektir, ssh bağlantıda hangi ekran da programı göstereceğini belirleyemez.
C# uygulamazı derliyoruz ve Debug klasöründeki dosyaları Raspberry Pi’ye kopyalıyoruz, kopyalama işlemi için WinSCP programını indirebilirsiniz.
WinSCP’yi indirip kurduktan sonra Raspberry Pi Ip adresimiz, kullanıcı adımız ve şifremiz ile SFTP bağlantısı sağlıyoruz
Bağlantı sağlandıktan sonra Raspberry Pi dizinleri karşımıza geliyor burada “MonoDebug” isminde klasör oluşturarak derlediğimiz dosyaları içerisine yapıştıralım.
Şimdi ssh bağlantımız ile bu klasör dizinine gidelim ve şu komutları çalıştıralım.
mono MonoDemo.exe