C# programozás - Szoftverfejlesztés fórum

üzenetek

hozzászólások


petyus_
(senior tag)

Köszi, végül megoldódott a dolog. Kipróbáltam a fontot chrome-ban, és nem működött. Kiderült, hogy a chromium nem támogatja az SVG fontot (van egy 10 éves bug :DDD ), Firefox amúgy tudja. Viszont támogatja a COLR táblás fontokat, megcsináltam így a fontot, és így már megjelenítette. De közben a bugból megtudtam, hogy a chromium Skia-t használ a rendeleréshez, úgyhogy kipróbáltam a rajzolós appomat, és az is müködik vele. Úgyhogy egyelőre maradok ennél a változatnál.

Köszi az inputot, előtte napokig nem tudtam rájönni mi lehet a megoldás :))

[ Szerkesztve ]


rgeorge
(addikt)

Üdvözlet! Van egy xml fájl, amihez érkezne egy kiegészítő xml, ami azonos struktúrájú, de új ill. megváltozott elemeket tartalmaz (primitív beállítás fájlról van szó).
Sehol sem találtam olyan módszert, ami megbízhatóan tudná merge-lni az új fájlt a régibe. Eddig max. hozzáfűzést tudtam elérni, ahol duplán szerepeltek a módosuló elemek.
C# és .NET Framework 4.8.
Van valakinek ismerete működő megoldásról?


sztanozs
(veterán)
Blog

Hirtelenjeben pythonra talaltram megoldast:
https://stackoverflow.com/a/32597683

update: na itt van ket c#:
https://stackoverflow.com/a/19022895
https://stackoverflow.com/a/29804233

[ Szerkesztve ]


dqdb
(nagyúr)

Az ilyet úgy érdemes megoldani, hogy az eredeti XML az alap, az új pedig XDT transzformációkat tartalmaz, azaz kap pár attribútumot, hogy mit kell adott node-dal kezdeni. Bár ez a leírás a web.config-ra vonatkozik, de jól bemutatja a XML módosítási lehetőségeket, a dokumentációját pedig itt találod. Ha pedig egy nem létező típusú transzformációra van szükséged, akkor azt könnyen bele tudod tenni.

Maga a C# kód alapesetben nagyon egyszerű, ezt saját loggerrel és saját transzformációkkal lehet elbonyolítani.


rgeorge
(addikt)

Köszönöm, egyik sem volt jó... Megoldom másképp, mert pár 10 soros xml-ért már ennyi időt sem volt érdemes beleölni.


sztanozs
(veterán)
Blog

:DDD


cigam
(félisten)
Blog

Találkoztatok már ilyennel?
A WEBoldal azt mondja sikeresen bejelentkeztem, de a VS csak nem enged tovább.


sztanozs
(veterán)
Blog

Esetleg:
[link] vagy [link]/[link]

[ Szerkesztve ]


cigam
(félisten)
Blog

Végül a 3. link mentén töröltem a GitHub fiókot, aztán újra felvettem, és most működni látszik.
Köszönöm!


rgeorge
(addikt)

Üdvözlet. Frissült a Visual Studio 2022 17.8.1-ra a héten, lehet, hogy ezzel van összefüggésben.
Ha ugyanazt a projektet (.NET Framework 3.5 Console) létrehozom más-más mappában, akkor egészen érdekes különbség lesz.
Az egyikben a debugger ezt mutatja a Main-be lépve:

A másikban meg ezt:

A két mappa között csak annyi a különbség, hogy a másodikban van ékezet is. A második nem csak ebben más, olyan, mintha átváltana C++-ra.
Ebben a mappában sok kis projekt van, sosem volt ilyen gond. Onnan derül ki, hogy debug közben a null értékű objektumok értékét nullptr-ként mutatta.
Találkozott ilyennel már más is?

[ Szerkesztve ]


rgeorge
(addikt)

Találtam egy VS 2022 17.6.0-t is egy másik gépen, ott nincs ilyen eltérés. Megnézem majd egy friss telepítéssel is.


martonx
(veterán)

Addig olvastam, hogy .Net framework 3.5 :) Ez komoly? Miért?


rgeorge
(addikt)

Nyilván az új projekt azért ez, mert egy régi projektben találtam ezt a hibát, így ilyet is hoztam létre. .NET Framework 4.8-al is ugyanez van.
Most downgrade-ltem 17.7.7-re, és ott nincs ez az eltérés, tehát valóban a 17.8 hozta el.


martonx
(veterán)

.Net 8-nál tartunk. Számomra már az is csoda, hogy VS2022-vel ezek az ősi kódok még futnak. Gyanítom már senki sem teszteli komolyan, hogy újabb és újabb VS-el minden spéci 15-20 éves kód hibátlanul működjön.
Azért én a helyedben küldenék egy github issue-t a fejlesztőknek, hátha nem legyintenek rá, az őskövület kód problémájára.


rgeorge
(addikt)

Beküldtem az issue-t a Visual Studio-n keresztül, sikerült reprodukálniuk, ment a mérnöki csapathoz tovább.


martonx
(veterán)

Na, szuper, örülök, hogy a megfelelő helyre irányíthattalak! :) :R


Keem1
(addikt)

Srácok, ebben kérnék helpet.
Részletek: .NET 6.0 console, VS Code

Output Windowson:
NewGen v1.1.124.1223
Album
Artist
Customer
Employee
Genre
Invoice
InvoiceLine
MediaType
Playlist
PlaylistTrack
Track
Press any key...

Output Linuxon:
NewGen v1.1.124.1223
Unhandled exception. System.IO.FileLoadException: Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The located assembly's manifest definition does not match the assembly reference. (0x80131040)
File name: 'System.Diagnostics.DiagnosticSource, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
at MySql.Data.MySqlClient.MySqlConnection.OpenAsync(Boolean execAsync, CancellationToken cancellationToken)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
at MySql.Data.MySqlClient.MySqlConnection.OpenAsync(Boolean execAsync, CancellationToken cancellationToken)
at MySql.Data.MySqlClient.MySqlConnection.Open()
at NewGen.NewGenHelper.MySQLHelper.Tables() in C:\Users\kincs\source\repos\NewGen\NewGenHelper.cs:line 193
at NewGen.NewGen.Main() in C:\Users\kincs\source\repos\NewGen\Program.cs:line 34
Félbeszakítva

Kód:
public List<string> Tables()
{
var tables = new List<string>();
using (var conn = new MySqlConnection(ConnectionString))
{
conn.Open();
using(var cmd = new MySqlCommand())
{
cmd.Connection = conn;
cmd.CommandText = "SHOW TABLES;";
var reader = cmd.ExecuteReader().Cast<IDataRecord>();
tables = reader.Select(x => x.GetString(0).ToString()).ToList();
}
conn.Close();
}
return tables;
}

Mi okozhatja az exceptiont Linuxon úgy, hogy Windowson nem?
Így fordítottam: dotnet publish -c Release --arch arm --os linux

Előre is köszi :R

[ Szerkesztve ]


martonx
(veterán)

Mondjuk nem tud kapcsolódni az adatbázishoz?


Keem1
(addikt)

De, tud, és meglepő a megoldás: nem volt elég windowson kompilálni, linuxon kellett. :W


Keem1
(addikt)

Sracok, egy nagy anomaliaba utkoztem.
Csinaltam egy szuz ASP Razor porjectet, en populaltam fel, de hibaba utkoztem.

Alapesetben ezt kapom:
PS C:\Users\ik\source\repos\nuup> dotnet run -c Release -f net6.0
Building...
C:\Program Files\dotnet\sdk\7.0.405\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.Shared.targets(213,5)
: error NETSDK1022: Duplicate 'Content' items were included. The .NET SDK includes 'Content' items from your project di
rectory by default. You can either remove these items from your project file, or set the 'EnableDefaultContentItems' pr
operty to 'false' if you want to explicitly include them in your project file. For more information, see https://aka.ms
/sdkimplicititems. The duplicate items were: 'wwwroot\css\site.css'; 'wwwroot\errors\error.html'; 'wwwroot\robots.txt'
[C:\Users\ik\source\repos\nuup\nuup.csproj::TargetFramework=net6.0]
The build failed. Fix the build errors and run again.
PS C:\Users\ik\source\repos\nuup>

Ha beteszem ezt: <EnableDefaultContentItems>false</EnableDefaultContentItems> akkor viszont minden oldal 404-es lesz, a full kezdolapot is beleertve.

Ez a csproj file-m:
<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFrameworks>net6.0;net7.0</TargetFrameworks> <Nullable>enable</Nullable> <ImplicitUsings>enable</ImplicitUsings> <EnableDefaultContentItems>false</EnableDefaultContentItems> </PropertyGroup> <ItemGroup> <Folder Include="Data\"/> <Folder Include="Models\"/> <Folder Include="Classes\"/> <Content Include="wwwroot\**\*"> <CopyToPublishDirectory>Always</CopyToPublishDirectory> </Content> </ItemGroup></Project>

Mit rontok el? :F


skyrush7
(aktív tag)

Sziasztok!
Problémáma ütköztem, nemrég kezdtem el .NET Core-ban egy foglaló oldalt lérehozni a vendégházunkhoz. Az alapfunkcionalitás rendben, tudnak dátum szerint foglalást leadni, amely mentésre kerül a DB-be.
A probléma ott van, hogy jó lenne valamilyen szinten szinkronizálni Booking és Szállás.hu-val. Mindkettőhöz van egy iCal link.
Ezt hogyan tudnám beintegrálni a .NET-es oldalamba? Lényeg, hogy ne engedjen az oldal foglalni olyan dátumra, ahova már Bookingon keresztül le lett adva foglalás.
Sajnos neten nem nagyon találtam anyagot hozzá, aránylag kezdő is vagyok még. Az iCal.NET libraryra rátaláltam, de nem nagyon találtam oktatóanyagot hozzá, hogyan is lehetne használni.
Tudtok valami tippet adni merre induljak el?


martonx
(veterán)

Szia!

Ahogy látom a booking.com-nak van nagyon profi API-ja: Booking.com APIs and Documentation
Szallas.hu esetében viszont nem igazán találtam ilyet, én a helyedben felvenném velük a kapcsolatot, szeretném hinni, hogy van nekik is API-juk.
iCal-t a helyedben nem erőltetném, API integráció irányába mennék.


skyrush7
(aktív tag)

Köszönöm szépen!


rgeorge
(addikt)

Üdvözlet! Van egy .NET Framework 4.5 32 bites projekt (Visual Studio 2012), amiből az egyik assembly-nek a nevét sikerült magyarul megadni, azaz hosszú ékezetes betűket is tartalmaz.
Egy hónapja ez az alkalmazás nem indul el bizonyos eszközökön, ahol előtte igen. A program egyszerűen nem indul el, pontosabban elindul, majd az első UI felület (bejelentkezés) megjelenése előtt leáll, kivétel nem lép fel, az eseménynaplóba csak egy ucrtbase.dll hiba kerül bele.
Ha módosítjuk az assembly nevét magyar ékezetes betűk nélkülire, a program rendben működik. Találkozott más is ilyennel? Jó lenne az okokat is kideríteni, kereséssel nem találtam hasonló jelenséget.


fatal`
(titán)

Első körben megnézném a rendszer területi és nyelvi beállításait. Különösen a nem unicode programok nyelvét, ez szokott angolon maradni és okozhat ilyen anomáliákat.

Más kérdés, hogy mégis miért kell a namespaceben/assemblyben ékezetet használni?

üzenetek