Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Neaktivní uživatel: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
Neaktivní uživatelský účet
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
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
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
Odpovídá na Patrik Valkovič
Neaktivní uživatel: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
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
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
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
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
Odpovídá na Neaktivní uživatel
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
Tvůrce
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í
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
23.11.2015 13:49
Avatar
Odpovídá na Milan Křepelka
Neaktivní uživatel: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
Neaktivní uživatelský účet
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.