Využij akce až 30% zdarma při nákupu e-learningu. Zároveň pouze tento týden sleva až 80 % na e-learning týkající se Javy
Hledáme fulltime koordinátora/ku kurzů. 100% homeoffice,100% časově flexibilní. Mám zájem!
discount week 30
Avatar
Aaron
Redaktor
Avatar
Aaron:22.11.2015 17:52

Ahoj!
Začal jsem se učit v C# a hned mě odradila jedna věc. Každá aplikace, ať už moje či stáhnutá z ITnetworku obsahuje absolutní cestu k nějakému souboru, viz obrázek. Dá se to nějak odstranit? Bude aplikace fungovat všude, když ten soubor nebude v konkrétním adresáři? Díky :)

(Používám Visual Studio 2015)

 
Odpovědět
22.11.2015 17:52
Avatar
Patrik Valkovič
Super redaktor
Avatar
Patrik Valkovič:22.11.2015 17:53

A builduješ to jako Release nebo jako Debug?

Nahoru Odpovědět
22.11.2015 17:53
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Petr Čech
Redaktor
Avatar
Odpovídá na Aaron
Petr Čech:22.11.2015 18:43

Tak to ale ani fungovat nemá, podívej se sem:
http://www.itnetwork.cz/…6222592c07d2

Nahoru Odpovědět
22.11.2015 18:43
the cake is a lie
Avatar
Aaron
Redaktor
Avatar
Odpovídá na Patrik Valkovič
Aaron:22.11.2015 18:56

Patrik: To je jedno, zkoušel jsem to u obou. :)

Petr Čech: Aha, ale přesto, nedalo by se to udělat bez té instalace? Prostě přímo exe soubor, který se hned otevře a neobsahuje žádnou cestu. :-S Díval jsem se třeba na mé staré prográmky z Pascalu a ty tam nic takového nemají, jen čistě shluk písmenek a znaků. :D

Díky

 
Nahoru Odpovědět
22.11.2015 18:56
Avatar
Odpovídá na Aaron
Michal Žůrek - misaz:22.11.2015 19:07

ale on tu cestu nepotřebuje. Prostě žij s tím, že tam má něco co checkne jestli to existuje, pokud jo tak s tím možná něco dělá, pokud ne, nechá to být. Ten soubor pdb bude nějaká databáze, kterou něco používá, ale ona není potřebná. Když si to přebuilduješ, tak by v složce bin/Release mělo být exe, které tu cestu nebude obsahovat.

 
Nahoru Odpovědět
22.11.2015 19:07
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Petr Čech
Redaktor
Avatar
Odpovídá na Aaron
Petr Čech:22.11.2015 19:07

Jenže není .exe jako .exe
Ty prográmky z Pascalu jsou zkompilované přímo do strojového kódu, kdežto C# se kompiluje do mezikódu, který je sám o sobě nezávislý na platformě a běží na robustním .NET frameworku, zbytek je v tom odkazu, co jsem ti poslal předtím.
Ve zkratce: nejde to, ale to přece nevadí, od toho právě máme instalátor, který naklikáš za chvilku.

To, že v těch Pascalových .exe jsou jen ty znaky tak to je právě ten strojový kód, hexa kód, programy neběží na procesoru jako text, ale přímo jako ten hexa kód. U C# vytváří ten hexa kód právě .NET virtuální stroj z něčeho, co by se dalo ještě rozebrat (dekompilovat) zpátky na původní kód, co jsi napsal ty (snad i s komentáři), jen by byl optimalizovaný. U pascalového by to šlo také, ale téměř určitě by z toho vylezlo něco jiného.

Nahoru Odpovědět
22.11.2015 19:07
the cake is a lie
Avatar
Luboš Běhounek Satik
Autoredaktor
Avatar
Odpovídá na Aaron
Luboš Běhounek Satik:22.11.2015 19:22

Máš tam debug verzi, ta odkazuje na místo, kde k tomu máš .pdb soubor s debugovacíma informacema.
Možná to tam bude i v releasu, ale možná to jde někde vypnout :)

Nahoru Odpovědět
22.11.2015 19:22
https://www.facebook.com/peasantsandcastles/
Avatar
Milan Křepelka
Redaktor
Avatar
Milan Křepelka:23.11.2015 13:49

Tyhle informace tě asi nemusí oslovovat. Pokud ti to z nějakého důvodu vadí, tak bude stačit nastavit. Build ->Advanced->Debug Info->None

Nicméně připrav se na to, že se to ještě rád vrátíš. Takový CallStack při hledání chyby v cizím prostředí je věc k nezaplacený a ušetří ti spoustu hodin práce.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět
23.11.2015 13:49
Avatar
Aaron
Redaktor
Avatar
Odpovídá na Milan Křepelka
Aaron:23.11.2015 15:49

Díky všem. Šlo mi jen o to, že když dám někde na internet mou C# aplikaci, která normálně všem funguje bez jakékoli instalace či dalších přiložených souborů, tak by obsahovala nějakou cestu k souboru na mém počítači, což mi samozřejmě přišlo divné ;)

 
Nahoru Odpovědět
23.11.2015 15:49
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.