- Mindent megtudtunk az új Nokia 3210-ről
- Képeken az egyik kameráját elvesztő Sony Xperia 10 VI
- Bemutatkozott a Moto G32 4G
- Nothing Phone 2a - semmi nem drága
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Poco X6 Pro - ötös alá
- Véroxigénszintet is mér a Honor Band 5
- Vodafone-ra áttért Digi Mobilosok
- Google szolgáltatás (GMS) Huawei telefonokra
- Alcor e-Pad - van még remény
Hirdetés
-
Lunar Lander Beyond teszt
gp Nagyon sok évtizeddel az eredeti Lunar Lander megjelenése óta ismét ezen a címen jelent meg Atari logóval egy játék. Vajon mennyit javult a játékdesign a hetvenes évek óta?
-
Letartóztatták a bitcoin-Jézust
it Amerikai adókerülés vádjával, Spanyolországban tartóztatták le a bitcoin-Jézusként ismert Roger Vert.
-
Képeken az egyik kameráját elvesztő Sony Xperia 10 VI
ma Részletes anyag került fel az internetre a Sony idei középkategóriás telefonjáról, három helyett két hátlapi kamera várható.
Új hozzászólás Aktív témák
-
MODERÁTOR
válasz DrojDtroll #8852 üzenetére
Csak az értékére lennél kíváncsi? Immediate window?
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
MODERÁTOR
válasz DrojDtroll #8854 üzenetére
Ott konkrétan be tudod gépenlni és szépen egyesével legetteled az értékeket. Jobb ötletem hirtelen nincsen, vagy 5 éve nem használok már VS-t
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
martonx
veterán
válasz DrojDtroll #8852 üzenetére
Használd a Watch window-t, ha csak konkrét értékre vagy kíváncsi.
Én kérek elnézést!
-
Ablakos
őstag
VisS-ban mindig van egy ajánlás, hogy használjam pl. egy WriteLine paraméterben a value: szót a valódi paraméter előtt.
Mi ennek a jelentősége? (hogy használom vagy sem a value:-t) -
vlevi
nagyúr
válasz Ablakos #8859 üzenetére
Nem csak itt, de bárhol beírhatod a paramétereket név szerint.
Akkor jó, ha egy metódusnak több paramétere van, esetleg némelyik default értéket tartalmaz, és nem kötelező megadni. Ilyenkor, ha nevesíted a paramétereket, akkor te is jobban átláthatod, hogy melyik paraméternek milyen értéket adtál át. -
A neve "Named arguments" az utóbbi C# verziók folyamatosan csiszolták, a lényege, hogy már fgv-híváskor nem csak a pozíciója, hanem neve alapján lehet egy paramétert azonosítani.
Hasznos, hogy ha sokelemű a paraméterlista, akkor tudod, hogy mi micsoda, a másik pedig az, hogy át tudod rendezni az argumentumok sorrendjét a deklarációhoz képest.
Szerk: és ahogy feljebb írták, default értékkel rendelkező paraméterek esetén is jól jön.
[ Szerkesztve ]
-
Xamarin.Forms - GooglePlay
Help kéne, sok időt beleöltem, nem boldogulok...
-(0)
Van egy Xamarin.Forms(Android) hobbiprojektem. Ez a projekt tartalmaz egy általam írt komponenst "YtExplodeVideoService" néven amely a YoutubeExplode nevű 3rd party NuGet parser libre épít. A YoutubeExplode működése okán nem GPlay policy kompatibilis, ennek megfelelően a "YtExplodeVideoService" komponens sem az.A XF projekt shared része egyetlen projektben, egyetlen assembyben van, ez tartalmazza az általam írt kód 99%-át.
Eddig minden szép és jó és működik is.
Most szeretném, ha fel tudnám rakni az appot a GPlay-re is, anélkül, hogy terminálnának engem, a családomat, a macskámat meg úgy mindenkit akihez közöm van.
Amit eddig csináltam:
-(1)
A "YtExplodeVideoService" mellé készítettem egy azzal interfész-kompatibilis komponenst "VanillaYtVideoService" néven. Ez megfelel a GPlay feltételeinek, ennek a használatáért nem fognak kivágni.-(2)
Készítettem az eddigi (ad hoc) Release solution-konfiguráció mellé egy GooglePlayRelease solution- konfigurációt. Ahol is a shared project konfigja tartalmaz egy compilation változót, ami megjelöli mint GPlay release.A videokomponens példányosításakor ellenőrzöm a változó értékét és annak függvényében választom ki a konkrét implementációt:
#if GOOGLEPLAY
VideoService = new VanillaYtVideoService(Settings, CachedSearchClient);
#else
VideoService = new YtExplodeVideoService(httpClient, Settings, CachedSearchClient);
#endifEz eddig szépen működik. ILSpy-jal belenézve a különböző build konfigurációkkal készített assemblikbe szépen látszik, hogy mindig a megfelelő komponens példányosodik.
A probléma:
Szeretném elérni, hogy
1, az elkészült GPlay-re szánt APK-ban, semmi esetre se legyen benne a YoutubeExplode.dll assembly, jelenleg, ha az APK-t kizippelem, akkor szépen ott van. Nem értem, hogy mit keres egyáltalán ott...2, A shared projektem assemblyjébe ha ILSpy-jal belenézek, akkor a references listában szépen látom a YoutubeExplode nevet. Ezt sem szeretném.
Szeretném, ha az elkészült projekt-assemblyben majd a végső APK-ban semmiféle ráutaló nyom nem lenne a YoutubeExplode-ra. Nem hiszem, hogy ez nagy kérés lenne, hiszen nem is használom a GPLay-re szánt releaseben.
És szeretnék biztosra menni, minél kevesebb mókolással.
3, Hogyan tudom biztosan ellenőrizni azt ami felkerül, hogy mindenben megfelelő?
Amivel eddig próbálkoztam:
1, A Linking opció Sdk Assemblies Only-ra van állítva. Ha egyel erősebbre rakom, akkor runtime hibáim vannak. (Első körben a Newtonsoft.Json-nal ütközik, de ha ezt kiküszöbölném lenne más)
Ha lehetséges nem bántanám ezt a beállítást, mert nem értek a linker konfigurálásához és félek, hogy olyan helyeken hozna be runtime hibákat, ahol nem is számítok rá.
2,
Játszottam a "Code shrinker" beállításokkal, nincs változás.3,
Próbálkoztam az ingyenes "Dotfuscator Community"-vel. Ez átnevezi a függvények paramétereit, de pld az assembliket magukat nem.4, Nekiálltam a YtExplodeVideoService-t kiszervezni egy külön assemblybe, de ezt elvetettem, ha csak egy mód van rá, nem szeretném szétbarmolni "Az Egy Assemblyt". (eleve legalább három felé kéne essen, ahol a harmadik, közös assemblybe mindenféle interfészeket, modelleket ki kéne szerveznem ÉS a hálózatos kódot)
[ Szerkesztve ]
-
válasz joysefke #8864 üzenetére
Lehet megoldódott
Úgy tűnik, csak le kell írni egy problémát és az jó eséllyel megoldódik, mielőtt jönne az első hsz. Egy csomót próbálkoztam VS-ben az ilyen olyan Android kapcsolókkal (amelyek ki tudja mit csinálnak), ehhez képest a megoldás igen kézzelfekvő:
1,
Minden kód ami a kérdéses komponensben van#if !GOOGLEPLAY
...
#endifközé került. Ezzel a GOOGLEPLAY szimbólumot tartalmazó build konfigok esetében semmilyen aktív kód nincsen ami használná a YoutubeExplode csomagot.
2,
Mivel a YoutubeExplode csomag bizonyos buildek esetében nincsen használatban, ezért el is lehet távolítani a csomag-referenciát, ehhez a .csproj fájlban a Choose/When/Otherwise konstrukciót lehet használni. Alább látszik, hogy a kettő Gplay-es konfigban (GooglePlayRelease és GooglePlayDebug) nincsen referencia a YoutubeExplode NuGet csomagra, a többi nem GPlay-es konfigban viszont lesz..És ez így fordul szépen, és ha ILspy-jal belenéze, tökéletesen semmi nyomát nem látom a YoutubeExplode-nak...
<Choose>
<When Condition=" '$(Configuration)'=='GooglePlayRelease' ">
<ItemGroup>
...
</ItemGroup>
</When>
<When Condition=" '$(Configuration)'=='GooglePlayDebug' ">
<ItemGroup>
...
</ItemGroup>
</When>
<Otherwise>
<ItemGroup>
...
<PackageReference Include="YoutubeExplode" Version="4.7.9" />
</ItemGroup>
</Otherwise>
</Choose>[ Szerkesztve ]
-
dqdb
nagyúr
válasz joysefke #8865 üzenetére
<PackageReference Include="YoutubeExplode" Version="4.7.9" Condition=" '$(Configuration)' != 'GooglePlayRelease' and '$(Configuration)' != 'GooglePlayDebug' "/>
Így egyszerűbb, nem kell a
Choose
blokk, elég az eredetiPackageReference
elemet módosítani. Csomagfrissítésnél nézz majd rá a .csproj fájlra, megmaradt-e a feltétel benne.[ Szerkesztve ]
tAm6DAHNIbRMzSEARWxtZW50ZW0gdmFka5RydIJ6bmkuDQoNClOBc4Ek
-
Köszi a tippet!
Lehet kipróbálom ezt is, de amikor keresgéltem, ráakadtam erre:
https://github.com/NuGet/Home/issues/5895itt meg azt írták, nem fogják megoldani, aztán valahol a hozzászólások között találtam azt a megoldást amit feljebb írtam is!
-
dqdb
nagyúr
válasz joysefke #8867 üzenetére
Nem érdemes próbálkozni, a linkelt issue alapján nem működik az én megoldásom, csak az általad talált workaround.
Mindig "élmény" olvasni a NuGet fejlesztőcsapat arrogáns hozzáállását a bejelentett problémákra és szívni, amikor valamilyen újításuktól eltörik a build folyamat
tAm6DAHNIbRMzSEARWxtZW50ZW0gdmFka5RydIJ6bmkuDQoNClOBc4Ek
-
A poén az hogy mégis működik, kipróbáltam. Lehet hogy a bejegyzés óta eltelt majd két évben meggondolták magukat...
Sőt, egyelőre jobban működik mint a Choose/When -féle megoldás, mert ott a package upgrade csak a csomaghoz tartozó legelső verziószám bejegyzést módosítja, míg a másikban az egyetlen verziószám-bejegyzés szépen módosul.
-
Ablakos
őstag
Az Mesbox string paramétert hogy lehet ToString fv-el konvertálni? Valamilyen zárójeles varázslat
MessageBox.Show(new IntExtension().Half(number));
Csak ez a konvertálási lehetőség érdekel, ha lehetséges.
-
leslie23
tag
Sziasztok, egy félig-meddig elméleti jellegű kérdésem lenne.
Abszolút új vagyok C#-ban, éppen saját, megvalósítandó projektek után kutakodok. Ki is néztem egy lehetőséget, a munkahelyen van egy nyilvántartásra szolgáló Excel, néhány VBA-makróval. Jópár évvel ezelőtt készítették, szerintem már a koncepció is hibás volt, azóta meg rengeteg új igény is felbukkant és általában én kapom azt a hálás feladatot, hogy toldozzam-foldozzam a fájlt és a makrókat.
Arra gondoltam, hogy érdemesebb lenne áttérni egy SQLite, vagy akár Access alapú megoldásra, amihez késztítenék .Net-ben egy szimpla GUI-t.Amire viszont igény lenne, hogy mondjuk egy emelt jogosultsági szintű felhasználó, bejelentkezés után tudjon új mezőket (oszlopokat) bevinni a fő, nyilvántartott egységeket listázó táblába. Természetesen korlátozott számban és lehetőségekkel, én úgy képzelem el, hogy választhatna egy legördülőből, hogy string/int/enum/date legyen a data type, ezzel nagyjából valamennyi későbbi igény fedhető lenne.
Persze az új rekordok bevitelére is lenne egy userform, amin minden egyes mezőhöz tartozna egy control. Ha viszont az admin hozzáad egy Date típusú mezőt a táblához, akkor nekem arra lenne szükségem, hogy az új rekord bevitelére szolgáló userformon dinamikusan generáljak hozzá egy DatePickert, vagy pl. egy Enum típusú oszlopnál egy dropdown-t, a lehetséges értékekkel.
A kérdésem voltaképpen arra vonatkozna, hogy egyáltalán életképes-e egy ilyen koncepció (dinamikusan bővíthető/szűkíthető tábla) és ezt a GUI szintjén meg tudom-e oldani tisztességesen? Vagy az egész elképzelés felejtős és úgy érdemes nekiállni az ilyesminek, hogy egy átgondolt, fix, rögzített adatbázis struktúra legyen a GUI mögött?
Előre is köszönöm a válaszokat!
-
Alexios
veterán
válasz alapz@j #8874 üzenetére
A nyelvet tényleg, de azért általában valamilyen frameworkön belül szokták ezt használni, aminek megvannak a saját tooljai, stb, frameworktől függ mennyire jó a doksija, supportja, akármi, szóval azért nem teljesen lényegtelen.
De amúgy tény, hogy simán lehet váltani, ha az ember szeretne
-
-
leslie23
tag
válasz martonx #8873 üzenetére
Köszönöm a válaszod!
Az a helyzet, hogy a NoSQL-ről jóformán semmit nem tudok, így egyelőre maradnék RDBMS-vonalon, ha másképp nem érdemes, akkor rögzített táblastruktúrával. Első körben ez megteszi, most egyelőre a C#/.NET tanulás részén szeretném, hogy maradjon a hangsúly.
Windows Forms Application vs. ASP.net szempontból miért lenne nagyobb előrelépés a webes megoldás? Nyilván böngészőben sokkal szebb felületet tudnék összerakni, de úgy sejtem, hogy te nem erre gondolsz... -
Keem1
addikt
válasz leslie23 #8872 üzenetére
Az SQLite jó, könnyen kezelhető, könnyen elsajátítható, baromi gyors és könnyen egy akár meglévő programhoz is hozzákapcsolható. Én sokat használom, főleg olyan esetben, amikor sok és/vagy különböző módon elért/lekérdezett és/vagy gyorsan több adatot kezelő applikációról van szó.
Fontos! Az SQLite nem többfelhasználós. 1 app = 1 db (nyilván ez áthidalható, de akkor sem baba)! Ha ez nem hátrány, használd nyugodtan, mert szeretnivaló DBMS.[ Szerkesztve ]
-
-
leslie23
tag
válasz martonx #8882 üzenetére
Köszönöm a válaszokat!
(#8880) Keem1: rendben, ránézek!
(#8882) martonx: okés, akkor első körben marad a fix struktúra.
A telepítés dologgal kapcsolatban lehet van némi zavar nálam... Ha nem tévedek, akkor a VS-ban készített exe-ket simán tudom futtatni telepítés nélkül is. Maga az app és a db is egy hálózati meghajtón lenne, amit a felhasználók a saját irodai PC-jükön megnyitnának. A .NET valamennyi gépen telepítve van.
Vagy ez nem ilyen egyszerűen megoldható?[ Szerkesztve ]
-
-
martonx
veterán
válasz leslie23 #8887 üzenetére
Igaziból addig nem érzed a fájó különbséget, amíg többször bele nem futsz abba, hogy a telepített .net egyáltalán nem evidencia (vagy elég ha csak verziók térnek el), vagy ugyanígy kézzel frissítgetni a programodat a gépeken se feltétlenül triviális (egyik kolléga elvitte a notebookját, mire visszajön, meg már ki emlékszik rá) stb...
Nem véletlenül ment el a világ a web / mobil appok irányába a klasszikus telepítgetős programok helyett.Én kérek elnézést!
-
leslie23
tag
Értem ám amit mondotok, nekem is szimpatikus egyébként a webes megoldás, annál is inkább, hogy frontend terepen szívesen ügyködök, legalább egy ilyen része is lenne akkor a projektnek.
Viszont! Feltételezem, hogy ehhez szervergépre lenne szükségem, amin fut az IIS és itt válik neccessé a dolog. Nagyvállalatnál dolgozom, de max. 25-30 ember használná az alkalmazást, és bizony előny, ha nem kell az IT-vel köröket futni és sírni, hogy biztosítsanak nekünk infrastruktúrát. Nincsenek a helyzet magaslatán és nem is vagyok benne biztos, hogy erre lenne lehetőség. Vannak belső webes megoldások, de azok döntően JSP alapúak.
A napi munkában használt szoftvereink szinte mint .NET-ben lettek írva, mondjuk nem tudom, hogy az egyes verziók közötti kompatibilitás az mennyire megoldott a keretrendszeren beül...
Szóval mindezek figyelembevételével tűnt előnyös megoldásnak a közös meghajtón megtalálható "portable" .exe + db fájl, de persze az is lehet, hogy rosszul gondolom és pikk-pakk el lehetne intézni szerver dolgot...[ Szerkesztve ]
-
Ablakos
őstag
Hogyan lehet megállapítani két consol-os alkalmazás közül melyik .net framework illetve .net core keretben lett fordítva?
-
válasz martonx #8895 üzenetére
Úgy hogy már mindenki a böngészőből elérhető adatokhoz -kivéve office- szokott, kissé ósdinak tűnik egy weblink helyett egy file store elérést megosztani egy futtathatóhoz, ami nyilván minden alkalommal szépen letöltődik a user gépére hogy azon elinduljon.
Ha ezen túllépünk, akkor most hogy a Core framework új 3. verziójával elérhető lesz a self contained opció illetve jelentősen visszanyesik a self contained package méretét illetve a Core 3 már támogatni fogja a Windows desktop appokat, végül is nem olyan elvetemült opció ez:
Egy pár 10MB-os self contained app aminek nincsen dependenciája a futtató gépre installált .NET környezet felé az kb nem romlik el míg világ a világ, míg a másik oldalon a böngészők is változnak ez pedig elronthatja a felhasználói élményt.
-
sztanozs
veterán
válasz leslie23 #8890 üzenetére
Bírom az olyan "nagyvállalatokat", ahol semmilyen architekturális előírás nincs, hogy miként és milyen környezetben kell új alkalmazásokat fejleszteni... Jogosultságkezelés legalább lesz a programban?
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
leslie23
tag
köszönöm a válaszokat urak, jó látni a különböző álláspontokat!
sztanozs: igen, három szintű user matrixot szeretnék.
egyébként nem tudom, hogy van-e erre vonatkozó előírás, gyanítom, hogy nem igazán fejleszt bárki is a saját részlegének. teljesen megértem, hogy IT-s szemmel ez nem túl szimpatikus projekt. de valóban arról van szó, hogy egy 2500+ alkalmazottal rendelkelő cég durván 30 dolgozójának lenne szüksége egy egyéni megoldásra. szinte elképzelhetetlennek tartom, hogy erre időt és pénzt biztosítson a vállalat, így maradnak a saját kis garázsprojektek, az IT-t félig-meddig kihagyva a buliból. nyilván ezzel kapcsolatban senki nem fog a helpdesknek telefonálni. a meglévő intranetes webappok is hemzsegnek a bugoktól, szerintem ilyen minor dolgokra abszolút nincsen kapacitás, sajnos!hogy máshol ez hogyan működik, azt nem tudom, de én csupa negatív tapasztalattal találkoztam eddig az ismerősi körben hasonló kérdések esetén.
[ Szerkesztve ]
-
sztanozs
veterán
válasz leslie23 #8899 üzenetére
Ez a hozzáállás egész jó addig, míg be nem kopogtat az audit (vagy amíg el nem megy a "jóképességű" fejlesztő és a kollégák support nélkül maradnak).
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Mindent megtudtunk az új Nokia 3210-ről
- Kerékpárosok, bringások ide!
- Milyen billentyűzetet vegyek?
- Képeken az egyik kameráját elvesztő Sony Xperia 10 VI
- nVidia tulajok OFF topikja
- Vezetékes FÜLhallgatók
- Léghűtés topik
- Érkezik Magyarországa az LG szuper dizájnos hordozható projektora
- World of Tanks - MMO
- Otthoni hálózat és internet megosztás
- További aktív témák...
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest