[C#] แก้ปัญหา Could not load file or assembly ‘System.ComponentModel.Annotations, Version=X.Y.0.0

C# Logo

ลองทำ Automate Test แล้วเอา json มา mock ข้อมูล พอ execute จริง Error ครับ ตรวจสอบ และแก้ไข – ตรวจสอบว่า Code Reference DLL เวอรชันเดียวกัน หรือ ไม่ ตรวจสอบว่า Solution และ Library ต่างๆที่ Reference มาใช้ System.ComponentModel.Annotations ส่วนตัวเคยเจอว่า Project Library ใช้ 5.0.0 และปรากฏว่า Main Project มา Reference 4.5.0 ตอนใช้จริงมันฟ้องหา 5.0.0 การแก้ไข ปรับ Reference ให้เท่ากัน – app.config / web.config มี Lock Version DLL ตรวจสอบว่ามีการ Lock Version ของ Dependency ไหม แบบนี้ การแก้ไข ถ้าไม่จำเป็นต้อง Lock ให้ลบออกไปครับ – ลองแก้แล้วไม่ได้จริงๆ แก้ไขไฟล์ .csproj เพิ่ม 2 บรรทัดนี้ลงไปครับ

[LINE] Clear Line desktop cache

จาก Blog ก่อนที่บ่นๆวิธี แก้ปัญหา Line PC ค้าง / ช้า หรือ เปิดรูปที่ส่งมาช้ามาก ซึ่งมันเกิดจาก Line มันเก็บ Cache เยอะแยะเลย แต่วิธีก่อนมี Side-Effect พอสมควรครับ สำหรับ Blog จะมาแก้เรื่องพื้นที่ Disk ที่มันกินไปเยอะ + ล้าง Cache โดยใช้ Tool ที่ Line Desktop มันให้มาครับ ก่อนอื่นมาดูพื้นที่ที่ Line มันกินไปก่อนครับ ในส่วนของ Cache จะใช้ไป 6.1 GB เลยครับ ขั้นตอนการ Clear Line desktop cache ที่ App Line Desktop คลิกที่ ปุ่ม .. จากนั้นเลือก Setting จากนั้นมาในส่วนของ Chat > มาที่ Session Deleted Data ตรง Cache Data ให้มาในส่วน Your cached data will be deleted. Photo, videos. voice messages, or file won’t be deleted.จากนั้นกดปุ่ม Delete เลยครับ หลังจากที่ Clear Cache ของ Line Desktop ไปแล้ว เรามาดูพื้นที่ที่เหลืออยู่กันครับ เหลือ 2.5 GB จากเดิม 6.1 GB Clear Cache…

[Linux] tar.gz vs tar.bz2

Mechanical screw press used with Berthelot-Mahler Bomb Calorimeter (instrument component; calorimeter; press - mechanical)

หลายคนอาจจะสงสัยปกติผลลัพธ์ที่ได้จากคำสั่ง tar ถ้าที่เรียนๆมา หรือรุ่นพี่สอนกันในที่ทำงานจะเป็นคำสั่ง โดยจะเป็นผลลัพธ์เป็น tar.gz <file>.tar.gz vs <file>.tar.bz2 มันต่างกันอย่างไร ? มันต่างกันที่ Algorithm ในการบีบอัดไฟล์ โดยที่ tar ทำหน้าที่หุ้มให้เป็น 1 ชิ้น กรณี .tar.gz จะใช้ Algorithm gzip มาช่วยในการบีบอัด กรณี .tar.bz2 จะใช้ Algorithm bzip2 มาช่วยในการบีบอัดครับ แล้ว gzip กับ bzip2 อันไหนดีกว่ากันหละ มาลองดูตามรูปกันเลยครับ ไฟล์ที่ผมลอง Compress DB Backup ประมาณ 18 GB ครับ จากที่ผมทดสอบพบว่า Size: bzip2 ได้ไฟล์ขนาดเล็กกว่า gzip Time: bzip2 ใช้เวลาในการประมวลผลมากกว่า gzip ถ้าอยากลองใช้ ตอนบีบอัดให้เปลี่ยนจากคำสั่ง มาใช้คำสั่ง ถ้าใช้ <file>.tar.bz2 ฝั่ง Windows จะเอาไปใช้งานได้ไหม ? ใช้งานได้ครับ ตัว 7Zip รองรับหมด แต่ต้องแตก 2 รอบ เหมือนไฟล์ tar.gz ครับ Reference [AIX] บีบข้อมูลด้วยคำสั่ง TAR | naiwaen@DebuggingSoft bzip2 – Wikipedia

Hello World Electron.NET

ช่วงนี้มี Plan ที่จะย้าย Utility App ที่ใช้มานาน 9 ปี .NET Framework 4.x (Desktop App) มาเป็นเทคโนโลยีอื่นๆ ผมเลยมอง Electron.NET กับ .NET MAUI ไว้ครับ สำหรับ Blog ตอนนี้มาลอง Electron.NET กันก่อนครับ Electron.NET Electron เป็น Framework ที่ใช้พัฒนา Desktop App โดยใช้ JavaScript อย่างตัว Visual Studio Code ก็เป็น Tool ที่พัฒนามาจาก Electron นะ Electron.NET เป็น Wrapper เอา ASP.NET Core (Razor Pages, MVC) มาแปลงเป็น Electron App อีกที เตรียมตัว Electronize .NET Core 3.1 เป็นต้นไป ของผมมี .NET6 อยู่แล้ว เอา .NET 6 เลยและกัน Visual Studio Code – ลง Extension C# for Visual Studio Code (powered by OmniSharp) Node JS Install ElectronNET.CLI ด้วยคำสั่ง ตรวจสอบก่อน ตรวจสอบว่า ElectronNET.CLI พร้อมยังด้วยคำสั่ง อย่างของผม ตัวระบบแจ้งมาดังนี้ครับ Create Hello World Project สร้าง ASP.NET…

[WINDOWS] How to Fixed “The Number Of Connections To This Computer Is Limited And All Connections Are In Use Right Now”

Microsoft Windows

Problem When making Remote Desktop Connection to the target PC (Windows (11 / 10 / 8.1 / 8 / 7) and System Return Message The number of connections to this computer is limited and all connections are in use right now. Try connecting later or contact your system administrator. Solution 1 Unplug the network cable from the machine After unplugging cable, turn off WiFi and reboot the machine. Test Remote Desktop Solution 2 (If, first solution not working) Use Administrative user. Press WIN + R and type “regedit” in Run dialog box and Click OK to open Registry Editor. In the left…

[CR] Starbucks Banoffee Pie

สำหรับเมนูนี้ ถ้าไม่มีวิปครีม น่าจะเป็นเมนูที่ไม่น่าจะอ้วนมั้งนะ 555 โดยผมลองสั่งมาทานที่บ้านดู ระหว่างทำ Side Project ไปครับ ตอนแรกไม่รู้ว่าอะไร คือ Banoffee ซื้อมาแล้วลองไปหาคำมา มาจาก Banana กับ Toffee นุ่มลิ้นกลืนได้ ควรทานคู่กับชาร้อนๆมากครับ ^__^ ราคา 140 บาท ส่วนประกอบ แป้งพาย เป็นฐานล่างสุด กรุบๆ มันๆ กล้วยหอม ชั้นถัดมากัดได้พอดีคำ Topping – วิปครีม คาราเมล และผงโกโก้เข้มข้มดีครับ พลังงาน 451 calories Reference (พลังงานของแต่ละเมนู) Calories in Starbucks Banoffee Cake, Nutrition Information | Nutracheck พายบาน็อฟฟี่ – Starbucks Thailand

Interface แล้วได้ TextFile 0 bytes

ระหว่างที่ใช้ให้น้องทดสอบ Container น้องแจ้งข่าวร้ายมาว่า TextFile มันออก แต่มันได้ 0 bytes !!!!! ผมเลยใช้ให้น้องไล่คำสั่งของ Shell มา พบว่า หลังจากรู้คำสั่งแล้วลองเข้าไปรันใน Container กันครับ จะได้รู้ว่า Error จริงมัน คือ อะไร ? เจอ Error กวนตีนอีกครับ iconv: failed to start conversion processing: No such file or directory แต่จริงๆมันมีไฟล์นะ เลยนึกเคสตอน Implement RedHat8 ขึ้นมาได้ เกี่ยวกับ TIS-620 เลยลองคำสั่ง iconv -l ชัดเลยครับ ไม่มี TIS-620 จริงด้วย Back to baseimage Solution Reference

[ATH2022] สรุปงาน Agile Thailand 2022 (Agile ในชีวิตจริง)

การเดินทาง มาถึงงาน Agile in Bitkub (เก่ง Bitkub) จากนั้นเป็นช่วง pitch เนื้อหาของ speaker สั้นๆ คนละ 20 วินาที และอธิบายกฏ Agile Discovery ชอบ ไม่ชอบตรงไหนบอกที by Na ExxonMobil – Intake – Readiness check – Agile Discovery หวย online กับ agile (Infinitas by krungthai) FACT นี้สำคัญมาก ถ้ามีหวยเป๋าตังค์ มีการ์ดทอง คือ ถูกหวย (เพิ่งรู้จริงๆนะ) << เราต้องรอลุ้นต่อไป 5555 >> – Fact ของพัฒนาหวยออนไลน์ (เป๋าตังค์) – เริ่มต้นยังไง ? – ปรับอะไรไปบ้าง – ปิดท้ายและ มัน Agile ไหมนะ Agile การปรับเปลี่ยน มันเข้ากับหลัก ดังนี้ – Lesson Learn – Q&A Theory of Constraint ทฤษฏีการอยู่คู่กับข้อจำกัด by Salah Chalermthai Remote First Internal communication – เมื่อไหร่คุย เมื่อไหรพิมพ์ จาก basecamp – Resource พี่ที Share มีเขียน Blog ด้วยครับ ไปตามกันได้ การสื่อสารภายในองค์กรยุคใหม่หลัง Work From Home…

[C#] ทำไม Process มันผิดแค่เดือน 12 นะ

calendar dates paper schedule

เรื่องของเรื่องมีอยู่ว่า มี Module ที่เป็น VB6 อันนึง convert มาเป็น .NET มา 4 ปีและ แต่ลูกค้างอแงมาเรื่อยมา ขอว่าถ้าจะแลกต้องให้โน่นนั่นนี่ และจะทดสอบให้ทั้งๆที่มันดีกว่านะ ดึงมาได้ 4 ปีแหละ จนปีนี้เอาออกเลย สรุปทีลูกค้างอแงมาตลอด ไม่ได้ Test 555 แต่มันถูกไป 90% นะ แต่จะมีอยู่เคสนึงที่ตัว Process ถ้าเป็นเดือน 12 จะมีบางเคสที่เลยมันจะผิดเสมอ เลยลองไล่ๆดู มันเพราะอะไรนะ ? VB6 บวกลูกทุ่ง .NET ย้ายมาใช้ DateTime.AddMonth() แทน Debug หาสาเหตุ เมื่อลอง Debug จริงๆ เราจะพบปัญหากันครับ VB6 ตัวแปร month ได้ 13 .NET month ได้ 1 แล้ว year ขยับเพิ่มไป ตอนนี้เราจะรู้สาเหตุที่ IF มันทำงานผิดปกติ เพราะค่าที่ได้จาก VB6 และ .NET ตอนเดือนที่ 12 ไม่เหมือนกันนี่เอง แก้ไข ปรับ Logic ของ .NET ใช้วิธีบวกลูกทุ่งแบบ VB6 ไปครับ ได้บทเรียนเหมือนกัน กับประเด็นเล็กๆน้อยๆ ที่ต้องระวังเวลา Convert ระบบจากภาษาเก่า > ใหม่ บางทีความสะดวกสบาย อาจจะสร้าง Defect แปลกๆได้ Reference DateTime.AddMonths(Int32) Method (System) | Microsoft Docs