Ubuntu'da VB.NET programlama


16

Altıncı form üniversitesine yeni başladım ve A Bilgi İşlem A seviyesine geçeceğim. İlk yıldaki tüm programların Windows'ta VB.NET'te olduğu konusunda bilgilendirildim (ikinci yılda daha fazla özgürlüğe izin verdiğinize inanıyorum ...)

Windows XP bölümüm var ve Visual Basic Express Edition'ı ücretsiz olarak indirebilirsiniz, ancak çalışmalarım için Ubuntu'yu (Mono veya başka bir şey) ne kadar kullanabileceğimi bilmek isterim? Biri bana nereden başlayacağımı gösterebilir mi?

Gerçekçi bir şekilde bu işe yararsa, aynı dosyaları / projeleri / Ubuntu ve Windows üzerinde ne olursa olsun kullanabilmem gerekiyor - bu yüzden üniversitedeki Windows makinelerinden çalışabilirim ve daha da önemlisi öğretmenler işime bakabilir ve işaretleyebilirler! (Öğretmenime Ubuntu kullanımım hakkında bir soru sormak istemiyorum, uyum sağlamayı ve normal bir öğrenci olmayı tercih ederim ...)



1
Sadece VB.net ile geliştirmeyi sevdiğimi söylemek istiyorum ve öğrenmek için en sevdiğim dillerden biriydi. Ne yazık ki, VB.net öğrenmeye başladığımda C ++ ve Java'da zaten dersler almış ve programlamadan nefret etmiştim. Okulların bir primer olarak VB ile başlamaya doğru ilerlediğini görmekten memnunum.
TheXed

İlginç. Merak ediyorum, VB.net nasıl C # (veya Java) daha iyi?
NoBugs

Yanıtlar:


18

MonoDevelop'u kullanın ancak X-platform .NET geliştirmenin tuhaflıklarına dikkat edin

İlk önce mono'yu Yazılım Merkezi'nde bularak veya yazarak yükleyin

sudo apt-get install monodevelop mono-vbnc

MonoDevelop, Visual Studio Express ile büyük farklara sahiptir:

  • MonoDevelop WPF'yi (Windows Presentation Foundation) desteklemez, ancak Microsoft'un WPF'yi Windows 8'in gelmesiyle öldürmeyi planladığı için bu önemli değildir.

  • Doğru .NET framework hedefinin kullanıldığını doğrulayın. Bir çözüm oluşturduktan sonra projeye sağ tıklayın ve Options-> Build-> General seçeneklerine gidin. Windows'ta .NET'in belirli bir sürümünü hedeflemekten çok farklı değil.

Bu sorunların yanı sıra, onsuz yaşayamayacağım bir şey bulamadım.

Sizi ısırmaya geri dönebilecek diğer tek sorun (mono ile ilgili olmayan) klasik çizgi bitirme problemidir. * nix hala LF kullanıyor ve Windows satır sonları için hala CRLF kullanıyor, bu nedenle kaynak dosyalarınızı Windows / * nix arasında geri ve dördüncü aktardığınızda. AFIAK, MonoDevelop kaynak dosyalarını varsayılan olarak UTF-8'e kaydeder, ancak VS kaynak dosyalarını Windows ASCII'ye kaydeder (pencerelere özel satır sonlarına sahip windows-1252 latin ASCII ile). Visual Studio kullanılarak oluşturulan kaynak dosyaları alırsanız, * nix içinde çalışmasını sağlamak için biçimi dönüştürmeniz gerekebilir.

Gördüğünüz gibi, x-platform .NET geliştirme ilk başta biraz zor olabilir, ancak IMHO, buna değer. MonoDevelop'un dağınık olmayan arayüzünü seviyorum (VS'deki görsel efektler çoğu zaman yol alır), VS'nin yaptığı zamanın bir kısmında yüklenir (tipik olarak IDE'nizi her zaman açık bırakmazsanız yararlıdır) ), ekstra gereksiz eklentiler olmadan alanın bir kısmını alır (VS bu konuda gerçekten iğrençtir).

Kurmak sudo apt-get install monodevelop kadar kolaydı. Ayrıca, (birim testi için) NUnit gibi popüler araçlar * nix'e taşındı ve kusursuz bir şekilde çalıştı. MonoDevelop'un Windows sürümü biraz berbat (ya da en azından son denediğimde).

Güncelleme:

VB kodunu derlemek için VB derleyici modülünü de kurmanız gerekir:

sudo apt-get install mono-vbnc

Ayrıca, artık alakalı olmayan bazı sorunları gidermek için bu yanıtı güncelledim.


1
Bir hata mesajı alıyorum: Error: Visual Basict .NET compiler not found (Mono 2.4.4) (Testing)(bu kelimenin tam anlamıyla varsayılan ön ayarlı Hello World VB.NET konsol uygulamasını çalıştırmaya çalışıyor)
8128

3
@fluteflute Derleyici yüklü olmadığı için bulunamadı. Görünüşe göre, .NET için VB derleyicisi C # için olduğu gibi varsayılan olarak Ubuntu'da yüklü değil. Sadece 'sudo apt-get install mono-vbnc' yüklemek için.
Evan Plaice

Visual Studio VB.net/C# projelerini Monodevelop'ta açabilirsiniz, derler ve iyi çalışır, hatta GUI pencere formları çalışır. MS Windows form uygulamaları üzerinde çalışıyorsanız, mümkünse Visual Studio ile başlatmanızı tavsiye ederim. Mono'nun bunları tasarlamak için kolay bir 'tasarım modu' yoktur. (henüz?)
NoBugs

@NoBugs Mono Winforms GUI'lerini işleyebilir mi? Her zaman sadece GTK # 'a sadık kalacaklarını düşündüm. Sanırım bu cevabı güncelleme zamanı.
Evan Plaice

Evet, Mono'da sorunsuz iki Windows-VS projesi yürüttüm. Sanırım Monodevelop'a bir ithalat eklemeniz gerekebilir? Yerel GTK muhtemelen çoğu Linux C # uygulamasının kullandığı yöntemdir.
NoBugs

4

Gerçekten müfredatınıza bağlıdır.

Mono'nun VB.NET dil desteği var, ancak çerçeve yerlerde biraz farklı ve çalışmanızın çoğunun temel dil olduğu gibi .NET çerçevesi hakkında olacağını tahmin ediyorum. Oldukça basit bir seviyede gibi görünebilir (suç amaçlanmamıştır!)

Söylediğiniz gibi, çalışma sadece dil odaklı olsa bile, aptal Visual Studio meta proje dosyalarını alamayacaksınız. Bir şeyleri açarken sorun yaşayabilirsiniz ve (yine söylediğiniz gibi) kesinlikle başkalarına (belki de daha az yetkin) insanlara ulaşmakta sorun yaşayacaksınız.

Bu durumda ve yine de ana sisteminiz olarak Ubuntu'yu istiyorsunuz, VirtualBox, derslerinizle uyumlu kalmanın en iyi yolu gibi geliyor. Çift önyüklemeden çok daha kullanışlı, ancak iyi bir deneyim için (özellikle VS.NET gibi garip bir şeyle) ortalamadan daha fazla bir bilgisayara sahip olmanızı gerektirir.

Veya Python'u öğrenme ve öğretme konusunda öğretmeninizi dövün. Çok daha basit ve daha iyi bir dil.


3
Kolaj dili olarak Virtual Box için +1 + Python için -1 = 0
TheLQ

1
Python ile ilgili sorun nedir? Onun kesinlikle VB çok daha iyi.
dv3500ea

2
Oh Sanal Kutu için +1 (Visual Basic gibi VB'dir), bir öğrenme dili olarak python için +100.
Javier Rivera

1
Python ezoterik sözdizimine sahiptir ve ne zaman yürütüleceğini belirlemek için girintilere dayanır. Bence VB'den daha iyi, ama bir öğrenme dili olarak değil.
ayan4m1
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.