Sziasztok!
Tudom, hogy nem 100%-osan ide tartozik a téma, de muszáj megkérdeznem.
A "Tanuljuk meg a c# programozási nyelvet..." könyvet olvasom, de a könyvbeli második példánál elakadtam. Ott ugyanis ez szerepel:
using System;
using System.Windows.Forms;
ezeket a hibaüzeneteket adja a MonoDevelop:
error CS0234: The type or namespace name `Windows' does not exist in the namespace `System'. Are you missing an assembly reference?
error CS0246: The type or namespace name `Windows.Forms' could not be found. Are you missing a using directive or an assembly reference?
Feltételezem még installálni kell valamit, csak kérdés, hogy mit?
Ubuntu 8.04 Linux az operációs rendszerem.
Előre is kösz a segítséget!
- 1589 megtekintés
Hozzászólások
Ha nincs fenn a libmono-winforms2.0-cil csomag akkor azt rakd fel.
Gábor
- A hozzászóláshoz be kell jelentkezni
Sajnos fel van telepítve.
Tehát valami más problémának is lennie kell.
- A hozzászóláshoz be kell jelentkezni
Nem elég telepíteni a csomagot, de a fordítónak be kell állítani, hogy ezekre a csomagokra is hivatkozzon.
Most így hirtelen nem emlékszem, hogy pontosan hogy kell. mcs-nek valami kapcsolót kell megadni, MonoDevelop környezetben pedig a projektbeállításoknál kell beállítani.
- A hozzászóláshoz be kell jelentkezni
itt: screenshot
- A hozzászóláshoz be kell jelentkezni
Köszönöm!
A fordítást most már megoldottam. Létrehoztam egy új megoldást (solution), és abba helyeztem el a könyvben lévő programot. A referenciáknál megadtam a "System.Windows.Forms"-ot is.
Tehát a fordítás rendben van.
De, hogy láthatnám az eredményt is? Szeretném futtatni a programot, de hogyan? Mit kell tennem még?
- A hozzászóláshoz be kell jelentkezni
szerintem ha komolyan c#ozni akarsz, felejtsd el a monot. aki _komolyan_ fejleszt c#ba, az nem fog monozni neked, hanem VS -el tolja.
es ha mar c#, szerintem a 3.0 -as featureok nincsenek me'g meg a monoban.
szoval inkabb egy visual studio expresst ajanlanek Neked.
- A hozzászóláshoz be kell jelentkezni
Lehet, hogy igazad van, de én még csak most kezdek a c#-vel, és elsőre a mono-t találtam meg.
Most már mindenképpen szeretném a legalapvetőbb programokat a mono-ban megcsinálni, ha már belekezdtem.
- A hozzászóláshoz be kell jelentkezni
miert szivatod magad?
de te tudod. tolem. igaz, 1000x tovabb tart, es csomo mindent nem tud imho. de nembaj.
- A hozzászóláshoz be kell jelentkezni
Én nem "szívatásnak" nevezem, hanem tapasztalat szerzésnek.
- A hozzászóláshoz be kell jelentkezni
Az a baj, hogy monoban a Windows.Forms implementáció nem 100%-os, lásd:
http://www.mono-project.com/WinForms_CodeOwners
http://www.mono-project.com/WinForms
A könyved pedig már az első példaprogramnál erre épít. Ez így tényleg szívás lesz. Plusz monodevelopban nincs vizuális form tervező WinForms-hoz, erre is csak valami félkész külső program van (winforms designer).
Ha linux alatt akarsz mono/monodeveloppal programozni, akkor inkább a Gtk#-ot tanulmányozd, ahhoz van projekt "varázsló", form tervező, és lesz sikerélmény.
Nemrég volt egy szép cikk itt a hup-on a témában:
- A hozzászóláshoz be kell jelentkezni
Szia Zsolt!
Most dolgozom, de este megnézem, amit küldtél. Kösz!
- A hozzászóláshoz be kell jelentkezni
+1 az express-re (bár mi 2005pro-val toljuk suliban)
pont tegnap néztem a monodevelop-ot, még kb. sehol nem tart. sajnos
jah, és lehet, hogy 2005-ös express-t kéne próbálni. még ms emberkék is azt mondják, hogy a 2008 express gyenge a pro-hoz képest
persze ha te újabb dolgokkal akarsz bíbelődni (wcf, wpf, linq2sql...), akkor meg a 2005-össel nem érdemes kezdeni, mert (szintén az ms emberkék szerint) az addonok 2005höz nem túl jók. de mivel mono-zol, gondolom neked nem kellenek ilyenek
- A hozzászóláshoz be kell jelentkezni
Sajnos tele van a HUP ilyen jellegű hozzászólással. Nem értem miért? Miért jó nektek állandóan azzal csesztetni a másikat, hogy miért azt használod, miért nem ezt? Miért a C++ tanulod miért nem a Java-t? Stb.
Gyerekek! Szokjunk le erről. Ha van valakinek értelmes hozzászólása az adott problémához, akkor írja meg. Ha nincs, akkor inkább hallgasson!
- A hozzászóláshoz be kell jelentkezni
?
én nem csesztettem senkit, csak ajánlottam valamit. ellenben te épp engem csesztetsz, ráadásul ok nélkül
- A hozzászóláshoz be kell jelentkezni
Nem akartalak megbántani bervi, de nagyon sokszor olvasok ilyen jellegű hozzászólást.
Én ezt a témát azért indítottam, hogy a monoval kapcsolatos problémámat megoldjam. Szerencsére végül sikerült is. Most még túl kezdő vagyok ahhoz, hogy ugrálgassak egyik eszközről a másikra. Nyílván nekem még bőven elég a MonoDevelop tudása. Ha majd kinőttem, akkor majd azt a kérdést teszem fel a HUP-on, hogy mi mást ajánlotok, mert túl keveset tud. Na majd akkor értelmesnek tekintem az ilyen hozzászólást. Most csak zavaró, mert az utolsó kérdésemre lehet, hogy nem válaszol már senki, mert mindenki azt figyeli majd, hogy milyen jól veszekszenek ezek itt ketten.
- A hozzászóláshoz be kell jelentkezni
istenem.
ennyire sotet vagy?
megprobaltunk segiteni, csak te annyira arrogans hozzanemerto vagy, hogy nem fogadod meg az okosabbak tanacsat...
- A hozzászóláshoz be kell jelentkezni
Pfff.. már ne is haragudj .. csatlakoznék én is az általad definiált arroganciaklubba, ugyanis egyet értek azzal, hogy a közölt probléma helyett a b*szogatás megy, hogy miért nem ezt, meg ezt használod.
Ugyan egyet értek veled hogy a VS nagyságrendekkel hasznosabb, mint a MonoDevelop (bár a MD sem teljesen használhatatlan szerintem, és szépen fejlődik a Monoval együtt), de minek kell másodszor-harmadszor is a fülét rágni, hogy miért "szarakodik", utána meg offenzív szavakkal dobálózni?
Ennyit akartam hozzáfűzni.
-- There is never time to do it right, but always time to do it over.
- A hozzászóláshoz be kell jelentkezni
miert ne?
amugy az ilyen hozzaallas miatt van ilyen sok szar hobbiinformatikus hungarisztanban :(
amugy koszonjuk leulhetsz
- A hozzászóláshoz be kell jelentkezni
Témában nagyon járatlanul kérdezem, hogy a VS expresst ingyen adják microsofték? Asszem mintha valahol tőled olvastam volna C#-el kapcsolatban hasonlót. Kösz a választ! Jah és bocs az offolásért.
- A hozzászóláshoz be kell jelentkezni
ingyen van. úgy rémlik, hogy pénzt nem csinálhatsz a vele készített programokból, de erről most nem találtam infót
- A hozzászóláshoz be kell jelentkezni
Sziasztok!
Hát nem tudom hogyan, de egyszer csak el kezdett működni a fordító. Most már létrehozza az exe állományt is. Sajnos nem tudom megmondani, mi volt az eddigi hiba oka.
Nagyjából a következő események zajlottak le:
- Installáltam a MonoDevelop programot
- El kezdtem olvasni a "Tanuljuk meg a c# programozási nyelvet 21 nap alatt" című könyvet, amelyben ez a példaprogram volt leírva:
using System;
using System.Windows.Forms;
namespace HelloWin
{
public class MyForm : Form
{
private TextBox txtEnter;
private Label lblDisplay;
private Button btnOk;
public MyForm()
{
this.txtEnter = new TextBox();
this.lblDisplay = new Label();
this.btnOk = new Button();
this.Text = "My HelloWin App!";
this.txtEnter.Location = new System.Drawing.Point(16, 32);
this.txtEnter.Size = new System.Drawing.Size(264, 20);
this.lblDisplay.Location = new System.Drawing.Point(16, 72);
this.lblDisplay.Size = new System.Drawing.Size(264, 128);
// btnOk
this.btnOk.Location = new System.Drawing.Point(88, 224);
this.btnOk.Text = "OK";
this.btnOk.Click +=
new System.EventHandler(this.btnOK_Click);
// MyForm
this.Controls.AddRange(new Control[] {
this.txtEnter, this.lblDisplay, this.btnOk});
}
static void Main ()
{
Application.Run(new MyForm());
}
private void btnOK_Click(object sender, System.EventArgs e)
{
lblDisplay.Text = txtEnter.Text + "\n" + lblDisplay.Text;
}
}
}
- A mono nem tudott mit kezdeni ezzel, ezért fordultam hozzátok
- zZsOlTi javaslatára létrehoztam egy új megoldást, és abba helyeztem el a programot. A referenciáknál beállítottam a "System.Windows.Forms" referenciát. Ekkor az volt a baj, hogy látszólag sikerült a fordítás (0 hiba, 0 figyelmeztetés), de nem találtam sehol az exe állományt, ami a fordítás eredményének kellet volna lennie. Ezért aztán tovább nyaggattalak benneteket. Sajnos nem sikerült semmilyen eredményre jutnunk.
- Próbálkoztam azzal, hogy előállítom az exe állományt makefile segítségével, de ez sem jött össze.
- Aztán kutattam az interneten és a következő oldalra találtam: http://mono-project.hu/segedletek/gtksharp_kezdo
- Ennek alapján elkezdtem a Gtk#-val foglalkozni. A programokat terminál parancssorból fordítottam a gmcs fordító segítségével. Végre volt egy kis sikerélményem is, hogy valami legalább nekem is sikerül.
- Aztán folytattam azzal, hogy a MonoDevelop-ban írtam Gtk# megoldásokat. Szerencsére ezek is sikerültek.
- Fellelkesülve visszatértem az eredeti Windows.Forms programomhoz. És csodák-csodájára most már azt írta ki, hogy hibát észlelt a fordítás során. Nem tudta azonosítani a "System.Drawing" elemet. Ekkor referenciák közé betettem azt is, és végre rendesen lefordította a programot. Létre is hozta az exe állományt. És működött is.
- Ezután próbálkoztam a makefile generálással, és fordítással. Ez is sikeres volt.
Nagyjából ennyi az eseménytörténete a kezdeti próbálkozásaimnak a C# területén. Van valakinek ötlete, hogy mitől javult meg a MonoDevelop?
- A hozzászóláshoz be kell jelentkezni
Gondolom sikerült olyanra megcsinálni a MonoDevelop programot hogy néha elromlik majd néhány újraindítás után megjavul. Sajnos sok ilyen bugos program van. Ez van.
Tippem: A függőségek átállítása sok IDE alatt okoz furcsaságokat az előre lefordított, beindexelt és bekesselt dolgok miatt. Ezeket egy újraindítás kisöpri.
Parancssori fordításhoz érdemes lehet kipróbálnod a nant rendszert. http://nant.sourceforge.net/ Tudom a fenti posztban épp az ilyen ne ezt hanem azt használd dolgokra akadtál ki. De ez tényleg jó :-)
- A hozzászóláshoz be kell jelentkezni
Kösz!
Lehet, hogy megnézem, ha továbbra is lesznek gondok a MonoDevelop-val. De egyenlőre működik azóta kifogástalanul.
- A hozzászóláshoz be kell jelentkezni
Build szkripteket főleg nem fejlesztőeszköz helyett szokták használni, hanem azért, hogy a build folyamat automatizálva és dokumentálva legyen.
Egyszemélyes kísérletezős projektnél persze ennek nem nagyon van jelentősége. Csak azért ajánlottam a nant-ot, mert láttam hogy make-t használtál.
- A hozzászóláshoz be kell jelentkezni
Hát a "make" csak azért került nálam szóba, mert MD-ben van egy olyan parancs, hogy "Makefile-ok generálása...", és megpróbálkoztam azzal is, hátha "make"-vel sikerül létrehoznom az exe állományt. De akkor az sem működött. Most, hogy az MD rendben fordít, így a "make" is normálisan megy.
- A hozzászóláshoz be kell jelentkezni