Visual studio 2019 ben készítettem egy programot, újratelepítés után az exe fájl nem indul, miért?
Értem. Akkor újra kell írnom? És ha újraírtam, utána hogyan csináljak exe fájlt, ami mindenhol megy?
Ebből az exe-ből meg a fájlokból nem lehetne visszahozni a progit?
Az exe-ben benne van a forráskód, nyisd meg egy Ilspy programmal.
Amúgy meg leírtuk, hogy parancssorból nyisd meg, és nézd meg mit ír ki.
Megnézted???
"ha újraírtam, utána hogyan csináljak exe fájlt, ami mindenhol megy?"
C# nyelven csak olyat tudsz írni, ami sok windows gépen megy, de a .NET verziótól függ. Ha olyat szeretnél, amihez nem kell külső framework, akkor neked valami natív nyelv kéne, például C++. De tekintve hogy ezzel sem boldogulsz, azzal még annyira sem fogsz, mert a memóriát is neked kéne kezelned.
16
Mert nem az volt a kérdés. Amúgy meg vissza kell fejtened, vannak erre progik, valaki korábban mindta az ilspy-t,az talán pont ilyen.
De amúgy segítséget kértél,a kevés infó miatt kaptál visszakérdezéseket, amikre nagyrészt nem válaszoltál. A hiányos infók miatt így mindenki csak tippelgetni tud.
pl: kérdezte valaki, hogy konzol program-e. Ekkor ugyanis a visual studio a futtatás legvégére beszúrja, hogy álljon meg a program és kérjen be egy enter nyomást. Ha önmagában futtatod, akkor ez valszeg nincs, és csak kilép. Vagy pl. nem használtál-e dotnet core-t, ami esetleg nincs fent? Vagy más dotnetes cuccot? Vagy valamilyen nuget csomagot, ami nincs fent?
Nem piszkálásból mondom, de ha valaki már programoz, szerintem célszerű tisztában lenni a számítógép működésével és használatával, kicsit (hangsúlyozom: KICSIT) magasabb szinten, mint ami egy átlagos felhasználótól elvárható. Az egyik ilyen dolog, hogy ALAPszinten azért illik még Windows alatt is ismerni a parancssort. Nem olyan nehéz, mint amilyennek sokan gondolják, és emellett felettébb hatékony eszköz. Meg nem árt kicsit haladóbb szinten ismerni a számítógép és az oprendszer működését. Mondjuk azt, hogy hogyan futtat le egy programot? Mik azok a külső függvénykönyvtárak, dll-ek, stb? Mik azok a futtató környezetek? Vagy például programozásnál: mi a fordítás, mi az értelmezés, és mi az a köztes kód?
Tényleg nem neked akarom ezeket felróni, mert az informatikaoktatás olyan, amilyen (első kézből tudom, hogy vannak olyan iskolák, ahol informatikából jó esetben is épp, hogy felhasználói szinten levő, nem informatika szakos tanárok tanítanak, mert egyszerűen nem találnak szaktanárt), de ha tényleg komolyabban szándékozol foglalkozni a témával, akkor első körben mindenképp érdemes ezeket a témákat megerősítened!
Egyébként parancssorban úgy kell lefuttatni, hogy indítasz egy parancssort, odanavigálsz, ahol a futtatható állomány (.exe) van (cd paranccsal váltasz könyvtárat, meghajtót pedig pl. a d: paranccsal, értelemszerűen a d helyére a kívánt meghajtót írod), és egyszerűen beírod a nevét. Akár .exe kiterjesztéssel, akár anélkül.
Itt van a parancssorról egy videó: https://www.youtube.com/watch?v=ILN05K46ApI
A forrást meg szigorú értelemben véve nem lehet kinyerni az .exe-ből. Az nem igaz, hogy ez bele lenne gyógyítva a futtatható fájlba, viszont mivel a .net futtathatók igazából köztes kódot generálnak, és nem natív gépi kódot (illetve csak részben azt), ezért jó hatásfokkal vissza lehet azokat fejteni. Szinte biztos, hogy nem fogod betűről betűre ugyanazt a forrást visszakapni, mint amit eredetileg írtál, de az eredmény nagyon hasonló lesz, és ugyanazt fogja csinálni természetesen, mint az eredeti.
A jövőben pedig vigyázz a forráskódra! ;-) Én azt szoktam csinálni, akármennyire is sokaknak ez megbotránkoztató, hogy ha egy programmal elkészülök, kinyomtatom a forrást, és egy mappába lefűzöm. Lehet, hogy ez nem tűnik túl high-tech módszernek, de eddig bevált. ;-) Van olyan programom, amit még C64-re készítettem, és magnókazettán van tárolva. Nem könnyen tudnám most arról a forrását betölteni a mai gépembe, de a kinyomtatott forrást bármikor meg tudom nézni.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!