Diskuze: Kompatibilita tříd .NETu v rámci verzí
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 26 zpráv z 26.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
V těhlech základních věcech jsem zatím nikdy na žádnou nekompatibilitu nenarazil a MS má snahu držet všechno zpětně kompatibilní, pokud je to možné, takže bych se toho rozhodně nebál.
Bezva
Zajímalo by mě jestli je to v celku běžná záležitost, zda aplikace co spolu komunikují běží na úplně jiné verzi runtimu? Nebo je to spíše vyjímka?
Běžně spolu komunikují aplikace napsané v jiných jazycích a běžících na jiných OS nebo i úplně jiných platformách
A poslední otázka jak moc se degraduji tím .Netem 2.0? Přišel mi například hodně zajímavý LINQ, který tam není a zajímalo by mě jestli něco dalšího významného co by mi mohlo chybět?
Z jakýho důvodu jsi limitován .NET 2.0? Jinak ano, novější verze nabízejí dost věcí, co by ti mohly ulehčit práci.
Clientská část aplikace je v Unity3d a ten má tuším podporu, která se dá považovat za plnohodnotnou jen do .NETu 2.0
Poslední verze by měly snad umět i 4.5
Je to cca 2 měsíce zpátky co jsem poprvé házel hotové DLL do Unity, které bylo 4.5 právě a Unity to nepřekřoupalo tak jsem googlil a narazil na věci jako todle : Unity Forum
A když jsem DLLko přepsal do 2.0, tak už bez problému fungovalo
No to pokud je pravda, tak nevím jestli být nadšený nebo brečet
Unity3D tusim pouziva Mono na urovni .NET 2.0. Ani by si nemel brat v uvahu to, ze jedes na .NET Frameworku, protoze nejedes Jedes na MONO..
Pred par mesici bylo mozny v nejaky Unity Bete pouzivat 4.5, ale netusim, jestli uz je to v produkcni verzi, kazdopadne bych se toho moc nebal, protoze 4.5 prinasi oproti 2.0 tolik veci, ze na 2.0 urcite nezustanou a cekal bych, ze 4.5 je ted jejich priorita.
Tak jasné, ale funkcionálně to vyjde na stejno
To zní bezvadně, ono v nejhorším to jde překousnout, jelikož ta 2.0 část funguje pouze jako API mezi Unity a serverem, který jak jsme řešili na začátku může být klidně v 4.6
Mimochodem teďka jsem našel na ofi stránkách k aktuální Unity 5.5.x Beta:
Scripting: Upgraded C# compiler to Mono 4.4. The new compiler still targets C# 4 and .Net 3.5, but provides better performance and many bug fixes.
A unity 5.6.x Beta:
Upgrade Mono Runtime against our current .Net 2.0 and 2.0 Subset profiles. This includes many fixes and improvements, but does not include an upgrade to the .Net 4.6 profile.
Tak teď jsem zmatený
Napadla mě taková střední možnost, můžu si udělat knihovnu v 4.5 a tu následně používat v 2.0 aplikaci? a tudiž ji i importovat do Unity?
Ne to opravdu nemuzes Runtime se voli podle executable assembly. Podle toho se nastavi runtime a tedy se to v necem pusti a ty mu ted chces davat prikazy, ktery nezna,
Je to jako poradat gay party, protoze domovnik nechce divoky vecirky s devcaty a pak tam prizvat holky.. taky to asi neklapne.
Jakoze na divoky vecirek s holkama, jde pozvat gaye? Tady vidim trosku nekompatibilitu protokolů.
No já teda vím, že mi 2.0 knihovna v 4.6 aplikaci fungovala
JO tak. Jo to ti bude fungovat Protoze runtime je "novejsi"
Ano, nižší knihovna ve vyšší verzi fungovat může, ale obráceně to
nejde, protože ta vyšší verze používá "příkazy" které ta nižší
neumí.
Program, který je vytvořen pro W10 taky nespustíš na XPčkách, ale program
pro XP na W10 ano.
Šak jasný, jen jsem žertoval, že opačně to jde, no
Jeste bych rad rekl,ze osobne jsem dal příklad, který není "ze života" xD
Zobrazeno 26 zpráv z 26.