Vánoční nadílka Vánoční nadílka
Vánoční akce! Daruj lepší budoucnost blízkým nebo sobě. Až +50 % zdarma na dárkové poukazy. Více informací

Diskuze: Změna nastavení jazyka C#

C# .NET .NET (C# a Visual Basic) Změna nastavení jazyka C# American English version English version

Aktivity (3)
Avatar
Miroslav Mazal:27. srpna 23:39

Některé projekty vyžadují přepnutí jazyka C# na 7 a vyšší. Díval jsem se na několik videí. Všichni klikli na Project - Properties - Build atd. Ale když udělám to samé, tak mně se ukáže úplně jiné okno. Je to tím, že mám jen verzi zdarma Community a oni Profesional? Mirek

Zkusil jsem: Prohlédl jsem si hodně videí.

Chci docílit: Učím se programovat i pomocí tutoriálů, a jeden z nich mi nefunguje. Studio mi hlásí, že mám upgradovat C# na 7 nebo vyšší.

 
Odpovědět 27. srpna 23:39
Avatar
Ilja Židkov
Člen
Avatar
Ilja Židkov:28. srpna 8:24

Otázka je které Visual Studio používáš? VS 2017 podporuje nejnovější standardy C#, takže tam by to mělo být v pohodě.

 
Nahoru Odpovědět 28. srpna 8:24
Avatar
Odpovídá na Ilja Židkov
Miroslav Mazal:28. srpna 9:18

To jsem zkontroloval. Mám 2017. Stáhnul jsem si ho před 3 týdny.

 
Nahoru Odpovědět 28. srpna 9:18
Avatar
Bruce
Člen
Avatar
Odpovídá na Miroslav Mazal
Bruce:28. srpna 9:24

Project - Properties - Build - Advanced - Language version. Tam se nastavuje verze.

 
Nahoru Odpovědět 28. srpna 9:24
Avatar
Odpovídá na Bruce
Miroslav Mazal:28. srpna 9:29

Ano. To je přesně ono. Máte Studio Profesional anebo Community? Mně to otevře jiné okno, kde to build apod. není. Tři hodiny jsem na ta videa koukal. Stisknu properties a úplně jiné okno. Jsem z toho blázen.

 
Nahoru Odpovědět 28. srpna 9:29
Avatar
dez1nd
Člen
Avatar
Odpovídá na Miroslav Mazal
dez1nd:28. srpna 9:40

Vyfoťte to okno a nahrajte ho sem.

 
Nahoru Odpovědět  +1 28. srpna 9:40
Avatar
Bruce
Člen
Avatar
Odpovídá na Miroslav Mazal
Bruce:28. srpna 9:41

Mam 2017 Professional

 
Nahoru Odpovědět 28. srpna 9:41
Avatar
Odpovídá na dez1nd
Miroslav Mazal:28. srpna 9:48

Tady to je...Moment. Nenahrálo to obrázek.

Editováno 28. srpna 9:51
 
Nahoru Odpovědět 28. srpna 9:48
Avatar
Miroslav Mazal:28. srpna 10:40

Nevím proč mi to tady nebere obrázek. Má jen do 250 kB. Zkusil jsem JPEG i PNG. Tak ho najdete v mém albu. Tam to nahrálo bez problémů. A teď mi to píše, že nemohu vložit komentář. Až za chvíli... Vše se snad spiklo...či co... :-)

 
Nahoru Odpovědět 28. srpna 10:40
Avatar
Miroslav Mazal:28. srpna 10:44

Zkusil jsem ještě založit nový projekt. Empty Project. A tady to je !

 
Nahoru Odpovědět 28. srpna 10:44
Avatar
Odpovídá na Miroslav Mazal
Erik Šťastný:28. srpna 10:49

Pleteš si dvě různá nastavení. nahoře ti Bruce poslal nastavení projektu, ale ty máš ve screenshotu nastavení solutionu. A to je rozdíl! :)

 
Nahoru Odpovědět 28. srpna 10:49
Avatar
Miroslav Mazal:28. srpna 10:53

Ano. Už to vidím. Ale to proto, že na ten řádek pod tím, to nereagovalo. Problém je v tom, že jsem si script otevřel přímo kliknutím z Unity (Script - open). A to je asi něco jiného, než script přímo ve Visual Studiu.

 
Nahoru Odpovědět 28. srpna 10:53
Avatar
Martin Petrovaj
Překladatel
Avatar
Odpovídá na Miroslav Mazal
Martin Petrovaj:28. srpna 10:58

Ak sa toto vlákno týka enginu Unity, tak nie si vo verzii C# alebo .NETu viazaný ani tak Visual Studiom, ako Unity samotným. Aj keď Visual Studio kľudne môže podporovať najnovšie vymoženosti jazyka, ak nie sú podporované zvoleným scripting backendom v Unity, stále si nahraný.

https://docs.unity3d.com/…Upgrade.html

Podľa tohto momentálny experimental scripting backend podporuje featury C# 6 a .NET framework 4.6.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 28. srpna 10:58
if (this.motto == "") { throw new NotImplementedException(); }
Avatar
Odpovídá na Martin Petrovaj
Miroslav Mazal:28. srpna 11:03

Chtěl jsem si jen procvičit jednoduché scriptování podle jednoho tutoriálu, který je jednoduchý a hned na obrazovce v Unity můžu vidět, jak se scriptování projevilo. Šlo to dobře, ale pak se to na jednom příkazu zaseklo....že mám nastavit vyšší jazyk. Škoda.

 
Nahoru Odpovědět 28. srpna 11:03
Avatar
Martin Petrovaj
Překladatel
Avatar
Odpovídá na Miroslav Mazal
Martin Petrovaj:28. srpna 11:06

Ak postneš kód, ktorý robí neplechu aj s nejakým kontextom aby sme vedeli, čo robí, tak to určite zvládneme nejako prepísať aj bez tých novších featur.

Ak ale ideš podľa tutoriálu, ktorý je robený v Unity, tak by mal existovať spôsob, ako kód z neho v Unity spustiť, inak by to nemalo ísť ani autorovi. Pokiaľ postupuješ podľa nejakého "všeobecného" tutoriálu a len si loguješ do konzoly v editore, problém nastať môže, no.

Nahoru Odpovědět 28. srpna 11:06
if (this.motto == "") { throw new NotImplementedException(); }
Avatar
Miroslav Mazal:28. srpna 11:15

Je to opravdu jednoduchá věc na https://www.raywenderlich.com/…n-with-unity . Zaseklo se to na metodě Explode. Bylo to supr, si měnit nastavení v scriptu a vidět, jak to ovlivňuje bomby apod. Hodně jsem tak pochopil. Není to nutné, zprovoznit to. I když, kdyby to bylo jednoduché, rád bych pokračoval. Ale nechci tě tím zatěžovat. Najdu si jiný jednoduchý tutoriál, kterým si okořením učení C# ať jen nevidím Consolu...

 
Nahoru Odpovědět 28. srpna 11:15
Avatar
Martin Petrovaj
Překladatel
Avatar
Odpovídá na Miroslav Mazal
Martin Petrovaj:28. srpna 11:29

Prešiel som si to len narýchlo, ale ak sa nemýlim, v metóde Explode by mal byť tento kód:

Instantiate(explosionPrefab, transform.position, Quaternion.identity); //1

GetComponent<MeshRenderer>().enabled = false; //2
transform.Find("Collider").gameObject.SetActive(false); //3
Destroy(gameObject, .3f); //4

Netuším ale, prečo by tento kód nemal skompilovať v Unity kvôli zlej verzii C#. Prehliadol som v tom tutoriáli niečo, príp. mohol by si upresniť, kde a akú chybu ti Unity / VS zobrazuje?

Nahoru Odpovědět 28. srpna 11:29
if (this.motto == "") { throw new NotImplementedException(); }
Avatar
Miroslav Mazal:28. srpna 12:28

Když to, co jsi mi poslal, napíšu, podtrhne se mi červenou vlnovkou slovo Explode a objeví se mi vedle čísla řádku žárovečka. Když na ní kliknu, tak mi napíše, že chce upgrade na C# 7 a vyšší....A v Unity po spuštění mi to napíše přes scénu veliký nápis "All compiler errors have to be fixed before you can enter playmode!" .

 
Nahoru Odpovědět 28. srpna 12:28
Avatar
Miroslav Mazal:28. srpna 12:38

A úplně dole a v okně s chybama mi to píše problém na 23 řádku (což je Explode), a že slovo void nemůže být v tomto kontextu, či tak něco. A pak další 4 chyby unexpected symbol, které ale asi vznikají z té první.

 
Nahoru Odpovědět 28. srpna 12:38
Avatar
Martin Petrovaj
Překladatel
Avatar
Odpovídá na Miroslav Mazal
Martin Petrovaj:28. srpna 12:41

Úprimne len z tohto popisu veľmi netuším, prečo sa ti ten error objavuje :-D Vyzerá štruktúra tvojho skriptu nejako takto? Ak vyzerá po doplnení konkrétneho kódu obdobne alebo presne takto, tak bez toho, aby som videl tvoj kód naozaj neviem.

//…

public class Bomb : MonoBehaviour
{
        //…

        void Start()
        {
                //…
        }

        void Update()
        {
                //…
        }

        void Explode()
        {
                //…
        }
}
Editováno 28. srpna 12:42
Nahoru Odpovědět 28. srpna 12:41
if (this.motto == "") { throw new NotImplementedException(); }
Avatar
Odpovídá na Martin Petrovaj
Miroslav Mazal:28. srpna 12:48

A kruci....Prošel jsem si řádek po řádku, a přece tam byla chyba.... :-| Moc moc děkuji. Už to jede. Ale aspoň jsem se něco naučil i z toho hledání.....

 
Nahoru Odpovědět 28. srpna 12:48
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 21 zpráv z 21.