Category dotnet
มาแปลง Console App ให้เป็น .NET Tools (NuGet)
.NET Tools คือ อะไร แปลง Console App ให้เป็น .NET Tools (NuGet) Prerequisite: CS Project ต้องเป็นรูปแบบใหม่ที่มากับ .NET Standard ครับ ถ้า .NET Framework แบบเดิมๆ ทางที่ดีแนะนำให้ขยับเป็น .NET LTS ครับ โดยผมใช้ Project ที่ทำมานานหลายปีแล้ว pingkunga/MergeDOTNETTestReport มาเป็นตัวอย่างที่ลองแปลง Console App ให้เป็น .NET Tools ขั้นตอนการแปลง Console App ให้เป็น…
[NET6] Error System.NotSupportedException: No data is available for encoding 874 …
หลังจากทดสอบ E2E Test เจอว่า Service ที่ Export Text File จะพบ Error เต็มๆว่า System.NotSupportedException: No data is available for encoding 874. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method. สาเหตุ NET6 (Encoding Windows-874) Reference
How to get output from dotnet test
dotnet test command, it runs by default in quiet mode (–verbosity quiet) To get some output from the adapter, run it in normal mode, by setting the verbose option to normal / detail In verbosity normal / detailed will show…
How to Fixed: Feature ‘raw string literals’ is not available. Please use language version 11.0 or greater
When I copy code from mslearn. VSCode tell me the error Feature ‘raw string literals’ is not available. Please use language version 11.0 or greater. How to Fix
C# Return multiple values from method
ช่วงนี้พยายามจะ Refactor Code เดิมที่ทำขึิน โดยพยายามแตก Code ให้ได้ Method ที่เล็กที่สุด และอยากให้มันทำ Test Coverage ง่ายด้วย ไม่อยากจะเจอภาพแบบนี้อีกแล้ว พอที่นี้พอจะ Extract Method ดันไปเจอว่า Code มันคำนวณ 2 ค่า ใช้เงื่อนไขเดียวกัน ไม่อยากไปแยก 2 Method ตอนนี้มี 2 ทางเลือก ตอนเรียกใช้ก็ประมาณนี้ครับ แล้ว Access แต่ละ Property เรียกใช้ Item1 / Item2 …. ซึ่งมันไม่สื่อเลย…
บันทึก Migrate .NET Framework > .NET6
Blog นี้เขียนดองมานานมาก ตั้งแต่กลางปีที่แล้ว แล้วค้างไปทำเรื่องอื่นๆ ตอนนี้จะเปิดตัว .NET8 แล้ว ถ้ารออีก อาจจะได้แชร์ปีปลายปีหน้าแทน 555 เลยคิดว่า เขียนให้หมดดีกว่า เดี๋ยวลืม Stage แรก เป็นส่วนของการเริ่มต้นเลย ตอนแรก Code มันจะยุ่งเหยิงนิดนึง แยกให้เป็นส่วนๆ นอกจากจัดกลุ่มตาม DLL ผมเอาตัว Layer Architecture มาช่วยได้ โดยแบ่งหน้าที่ ต้องคุยตามชั้นจากบน ลงล่าง ซึ่งมีรายละเอียดดังนี้ Stage1 แยก Logic ที่มันมั่วๆ มาปน UI Code-Behide / Controller มาแตกเป็น…
XRLabel ตัดคำไทยผิดเมื่อ Export PDF
ช่วงนี้มีช่วยน้องแก้ไข Report ที่ทำด้วย DevExpress ครับ แล้วที่นี้มันเจอปัญหากับภาษาไทย ในเคสที่ว่าถ้ามีข้อความยาวๆ มันตัดได้ไม่ถูกต้องครับ มันจะแหว่งๆ แทน ตามตัวอย่างด้านล่าง เวลาเจอประโยคยาวๆ ที่ไม่มี Space เว้นวรรค มันจะตัดคำแปลกๆ ถ้าใครที่ทำพวกเอกสารคงหงุดหงิด ใน MS Word มันมี Thai Distributed ทำไมไม่ทำ อะไรประมาณนี้ – Forward Contract คือสัญญาที่ลูกค้าและธนาคารตกลงซื้อเงินตราต่างประเทศสกุลหนึ่ง และขายเงินตราต่างประเทศอีกสกุลหนึ่ง โดยกำหนดจำนวนเงิน สกุลเงิน อัตราแลกเปลี่ยน และวันที่ทำการส่งมอบล่วงหน้าที่แน่นอน ซึ่งอัตราแลกเปลี่ยนล่วงหน้าที่กำหนดนั้น ไม่ใช่อัตราตลาดในอนาคต โดยในวันที่ทำการส่งมอบ อัตราแลกเปลี่ยนล่วงหน้าอาจสูงหรือต่ำกว่าอัตราแลกเปลี่ยนในตลาด ณ วันที่ส่งมอบก็ได้…
Fixed DevExpress.XtraPrinting Throw PlatformNotSupportedException
My ASP.NET6 WebAPI containers crashed. after add reference DevExpress.XtraPrinting.PrintingSystemBase and Full Exception here Root Cause Solution Reference
[C#] ลองใช้งานตัว DebuggerDisplayAttribute
หลายครั้ง เราอยากดูค่าของ Property ต่างๆ ใน Object ที่สนใจ เมื่อก่อนเราต้องมาไล่ดูทีละตัว ซึ่งมันไม่สะดวกเลยครับ ตามรูปด้านล่างเลย หรือ ถ้า Advance ขึ้นมาหน่อยใช้วิธี Override ToString() เอาครับ ซึ่งมันตอบโจทย์ระดับนึง แต่ถ้าเราต้องการใช้ ToString() ในเคสอื่นๆหละมันไม่จะไปขัดกับตอนแรกที่ทำ เพื่อจะ Debug ครับ DebuggerDisplayAttribute พระเอกของเราครับ เจ้าตัว DebuggerDisplayAttribute เอามาช่วยให้เราดูค่าของ property ที่ใช้ประจำได้สะดวกขึ้น โดยเพิ่ม Attribute นี้ที่หัวของ Class และกำหนด Property + Expression ที่ต้องการแสดงครับ…