• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    TENCOKACISTROMYProgramovani v C#, F# a dalsich jazycich pro .NET, Mono a ostatni CLI implementace
    BONEFLUTE
    BONEFLUTE --- ---
    Ahoj.

    Potřeboval bych nakopnout, v C# jsem zelenáč, a tak nevím co a jak hledat.

    Mám knihovnu LibA, která využívá jednu knihovnu LibThirdA (pro zajímavost se jedná o RestSharpSign). Pak mám aplikaci AppA, která využívá LibA ale také LibThirdA. Pak mám aplikaci AppB, která využívá LibThirdB (konkrétně RestSharp (bez Sign)), a teď bych rád aby používal taky tu LibA, což ale nejde, protože LibThirdA a LibThirdB konfliktí. Případně dokonce LibThirdA nechci v aplikaci vysloveně používat. LibThirdB je jen další generace LibThirdA, takže to prostě můžu přepsat, jenže:

    Dotaz:

    Obecně, jak takovýto problém řešit?

    Momentálně to mám vyřešené tím, že mám knihovnu LibA ve verzi 1.0.x a 1.1.x. Což sice funguje, ale začíná se to jevit jako ne úplně šťastný nápad, protože to při závislostech zlobí, nainstaluje to správný balíček, ale řve to, že tam není požadovaný objekt. [1] To by mohlo řešit, že bych vytvořil separe pojmenovaný balíček, kdy by nominálně neměli nic společného. Ale stejně mi to přijde divný.

    Napadá vás jiný způsob?

    Nejvíc by se mi líbilo, když bych mohl vydat jeden balíček, v jedné verzi, který by ale byl tolerantní a umožnil by závislost na LibThirdA nebo LibThirdB podle toho, co by chtěl nadřazený.

    Jsem někde v dokumentaci zahlédl, že se dají nějak ifovat různé věci, architektura a tak. A tak si představuji, jestli nejde ifvnout, že pokud bude k dispozici tato knihovna, tak jeď tento kód, pokud bude tato, tak tamten...

    Šlo by to nějak?

    Předem díky.
    BRAP242
    BRAP242 --- ---
    hele slo mi o to si udelat takovou rekapitulaci a doucit se veci ktery jsem nejak uplne nepobral....
    NECROMAN
    NECROMAN --- ---
    BRAP242: záleží, zda se chceš učit od začátku, nebo jen hledáš novinky? Na ty jsou nejlepší různé Microsoft MVP blogy, např:
    .NET 6 / C# 10 Top New Features Recap - .NET Core Tutorials
    https://dotnetcoretutorials.com/2021/09/23/net-6-c-10-top-new-features-recap/
    TOOMIX
    TOOMIX --- ---
    BRAP242: online dokumentace nestačí? Ono těch rozdílů oproti .NET5 nebo .NET Core 3.1 zas tolik není.
    BRAP242
    BRAP242 --- ---
    Zdar, nemate nekdo tip na dobrou knizku na .NET 6 a C# 10 ? (prechazim do jine prace a potrebuju mit uplne nejvetsi prehled)

    Idealne k zakoupeni online - anglictina neni problem.

    Diky!
    TOOMIX
    TOOMIX --- ---
    ATAN: Na tohle jsem dávno rezignoval a používám InstallForge

    InstallForge | The Free Setup Creator For Windows
    https://installforge.net/
    LARS_GUNNER
    LARS_GUNNER --- ---
    ATAN: Resim take, ale zatim jsem nic nenasel a pouzivam veci mimo VS.
    ATAN
    ATAN --- ---
    buildim jeden drobny projekt ve VS Code + msbuild a zajimalo by me, jestli exstuje moznost v ramci VS Code (+ neco) vytvaret MSI instalatory? Vim ze pro VS existuje extension, ale ve VS Code se samozrejme pouzit nedat. Pak je moznost pouzit externe Wix, ale zajimala by me spis moznost integrace do VS Code jako tasku nebo tak neco.
    TOOMIX
    TOOMIX --- ---
    SHIGORBIRDMAN: tak jsem to zas nemyslel, ale máme v tom náš stěžejní projekt (MFC a Prof-UIS, platform toolset v110) a když se v roce 2014 přecházelo z Visual Studia 2005 na 2012, tak to byla past vedle pasti a trvalo to asi dva týdny, než se všechny ty projekty v solution povedlo zmigrovat.

    Obecně Visual Studio 2017/2019 používám pro C# (.NET Framework 4.8 a .NET5), chvilku jsem to měl i jako IDE pro Python 3 a jsem s tím spokojený.
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    TOOMIX: takze se mi to nezdalo, novejsi verze visual studia jsou na c++ spis horsi a nepouzitelnejsi? prikladal jsem to tomu, ze jsem rozmazleny c#, ale kdyz jsem musel delat nejakou dobu na 2017, prislo mi, ze pro c++ tam absolutne nic nefunguje, nebo neuveritelne pomalu (intellisense, vyhledavani atd) - naposledy jsem delal c++ nejak vic ve visualnim studiu tusim 2005...
    v te dobe uz jsem prosel "heh, mrkvim zakazali klonovat javu, udelali si vlastni sracku, lol, chlubi se jak je to dobry, heh, to bych mel zkusit, at na to muzu fundovane nadavat, jak je to na hovno... hmmmm hmmm... hmmm ty vole to je dobry...
    P19
    P19 --- ---
    SMOKY: Já to nechápu, ale mně Rider přišl vždycky neuvěřitelně pomalej...
    SMOKY
    SMOKY --- ---
    Pro nas projekt je kombinace VS2019 + R# naprosto nepouzitelna, neda se s tim vubec pracovat . Rider beha uplne krasne bez zaseku, byl sem ohrmonej, jelikoz sem uz zapomnel, ze IDE muze byt rychly.
    TOOMIX
    TOOMIX --- ---
    SHIGORBIRDMAN: na C++ (MFC) máme dodnes VS2012. Jo, užil bych nové věci z VS2017/2019 jako třeba Peek Definition, ale děsím se dne, kdy budu muset to VS2012 opustit
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    LARS_GUNNER: me to trvalo dost dlouho, pres premlouvani jinych a pres fakt, ze jsem ve visual studiu pro c# pouzival jetbrainsove pluginy. Ridera jsem si koupil kvuli unrealu a nepouzil...
    Ale pak se mi jednou visual studio (resp asi jeho unity integrace) rozhodlo, ze c# soubory v projektu jsou textove a nejel presto vlak, prestoze jsem projekt promazal, procistil, regeneroval atd, a to byla posledni definitivni kapka v dlouhe, predlouhe rade drobneho srani s visual studiem za poslednich 20 let :)

    jedina vec, ktera me na rideru aktualne sere je to, ze ma tendence zasrat si vyhledavaci cache a pak mi divne funguje nebo rovnou nefunguje vyhledavani jakehokoli typu vcetne automatickeho todo listu a bohuzel se neda poznat, kdy uz se zas posrala.
    (nutno uznat, ze mi to zacalo delat teprve nedavno na jednom konkretnim prerostlem projektu, ktery se sklada pul na pul z c# a custom skriptovaciho jazyka v textacich, kdyz jsem dostal radu invalidovat cache, par dnu to fungovalo, ale vcera jsem si zase vsiml pri prochazeni, ze uz je zase jeden (novy!) soubor blbe naindexovany a hlasi do todo listu neexistujici polozku...)


    Nicmene opravdu v porovnani s visual studiem 2017, coz bylo posledni, s ketrym jsem pracoval, je rider proste mnohem pohodlnejsi a chytrejsi, v pripade unity integrace nesrovnatelne spolehlivejsi, plny uzitecnych veci.
    Nemohu porovnat jak je to v pripade nejakych desktop aplikaci, coz jsem proste nezkousel, jelikoz nebyl duvod, delal jsem jen nejake konzolove tooly


    (pro unreal je to naprosto totalni nebe a dudy, protoze visual studio se z unrealovskeho "c++" posrava jeste vic nez z normalniho c++)
    SAJAGI
    SAJAGI --- ---
    LARS_GUNNER: Přešel jsem před cca 3 roky (tendy hlavně kvůli lepší podpoře F#) a nelituju. Co se týká C#, Rider >> Visual Studio + R#. Oceňuju hlavně povedený tooling na refaktorizaci, kontextové quick fixy, lepší debugger, auto-disassembly, apod. V balíku jsou i profilery, se kterýma jsem taky hodně spokojený. Navíc se dá osobní licence používat i v práci.
    LARS_GUNNER
    LARS_GUNNER --- ---
    SHIGORBIRDMAN: Nerikam, ze je Visual Studio nejaky top a obcas me taky dost zlobi, ale porad jsem nedospel do toho bodu zlomu. :)
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    ROMI: aktualne jen rider - nic vic nepotrebuju, obecne kodeni stejne uprednostnuju net, integrace s unity je vynikajici, a kdybych se snad nekdy nechal uplatit, abych jeste nekdy delal neco s unrealem, i tam funguje vyborne - koderi ve firme, pro kterou kontraktuju, uz ho pouzivaji skoro vsichni, krome tech, co musi delat konzolove porty
    ROMI
    ROMI --- ---
    SHIGORBIRDMAN: a koupils jen Rider nebo komplet od nich, kolik je cena ted?
    Kliknutím sem můžete změnit nastavení reklam