Tag 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 ให้เป็น…

The Cloud Camp Week#15 (NET Aspire / How to Build OBS / Project Pitch)

สัปดาห์นี้ทาง Jumpbox มีเชิญ Speaker เข้ามาเล่า+แบ่งปันประสบการณ์ให้คนที่เรียน Cloud Camp รอบนี้ โดยมีหัวข้อ ดังนี้ Introduction to NET Aspire – Old-Way – New-Way – ปรับยังไง Coupling & Cohesion สามารถดูได้จาก Blog ผมครับ Cohesion VS Coupling | naiwaen@DebuggingSoft ใช้ได้ตั้งแต่ Class > Microservice เลย – dotnet aspire ความเห็นส่วนตัว…

How to get output from dotnet test

.NET Core

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…

บันทึก Migrate .NET Framework > .NET6

Blog นี้เขียนดองมานานมาก ตั้งแต่กลางปีที่แล้ว แล้วค้างไปทำเรื่องอื่นๆ ตอนนี้จะเปิดตัว .NET8 แล้ว ถ้ารออีก อาจจะได้แชร์ปีปลายปีหน้าแทน 555 เลยคิดว่า เขียนให้หมดดีกว่า เดี๋ยวลืม Stage แรก เป็นส่วนของการเริ่มต้นเลย ตอนแรก Code มันจะยุ่งเหยิงนิดนึง แยกให้เป็นส่วนๆ นอกจากจัดกลุ่มตาม DLL ผมเอาตัว Layer Architecture มาช่วยได้ โดยแบ่งหน้าที่ ต้องคุยตามชั้นจากบน ลงล่าง ซึ่งมีรายละเอียดดังนี้ Stage1 แยก Logic ที่มันมั่วๆ มาปน UI Code-Behide / Controller มาแตกเป็น…

Optimize Container image size

Container ships

จาก Blog ตอนก่อนที่ไปพบว่า docker image มีขนาดใหญ่มาก และถ้าปล่อยไปนานๆ ไม่น่าจะดีแน่นๆ หลังจากแก้ปัญหาเรียบร้อยไป ผมขอสรุป Step การ Optimize Docker image ครับ //ดองไปหลายเดือนกว่าจะเขียนจนจบได้ Best Practice – Use Minimal Base Images พยายามเลือกใช้ Base Image ที่เล็กที่สุด และน่าเชื่อถือด้วยครับ ส่วนใหญ่จะเป็นพวกตระกูล ข้อสังเกตุ – Minimize the Number of Layers การ Run Command…

บันทึกการปรับ format data ที่ใช้รับส่งผ่าน TCP จาก BinaryFormatter มาเป็น JSON แทน

เรื่องมีอยู่ว่ามี Code เก่าอยู่ชุดนึงที่ใช้ TCPClient+TcpListener ส่ง Data ระหว่าง App กัน โดยก่อนจะส่งใช้ตัว BinaryWriter + BinaryFormatter อย่างที่หลายคนน่าจะทราบกันตัว BinaryFormatter จะถูกเอาออกใน .NET8 ถาวร เนื่องจากเรื่องของความปลอดภัย ตอนนี้ยังใช้ได้อยู่นะ แต่เจ็บแล้ว ทำทีเดียวให้จบเลยดีกว่า และไม่อยากมาแก้ไขเยอะ เพราะยังมีบางส่วนทียังเป็น .NET 4.7.2 และไป .NET6 ต่อไม่ได้อย่าง VSTO ด้วย ภาพรวมเป็นตามนี้เลยครับ Code เดิม – Client Snippet – Server Snippet…

บันทึกการแก้ไขปัญหา SonarQube Analysis .NET(C#) ทำงานนานน

ต้นเรื่อง ตอนแรกไปซนดู Monitor ของ VM แต่ละตัว แล้วพบว่าทำไม VM ที่มี SonarQube Docker ใช้ CPU / RAM นานปิดปกติ เลยเข้าไปตรวจสอบข้างใน SonarQube พบว่า background analysis task ทำงานนานมากกก ทำไมมันใช้เวลาเพิ่มขึ้นขนาดนั้นนนนนน สิ่งที่แรกสงสัยเลย Size ของ Code ที่เข้ามาเพิ่มครับ ตัว SonarQube มันจะใช้เวลาตรวจตามไฟล์ใหม่ที่ส่งเข้ามาครับ ตอนนี้ลองเข้าไปที่ Measures > Size > New Lines โอ้วเจอไฟล์แปลกที่…

[VS2022] แก้ไขปัญหา There is no project properties provider for “Persistence = ProjectFileWithInterceptionViaSnapshot”. Projects are not loaded

ช่วงนี้มีเคสให้ไปช่วยตรวจสอบบ่อยๆครับ ล่าสุดที่เจอ Error ตามรูปด้านบนเลยครับ มี output log ประมาณนี้ครับ Solution จากที่ลองหาใน Stackoverflow แนะนำให้ลอง Repair ตัว Visual Studio ก่อนครับ แต่ลองแล้วไม่ได้ 555 พอลองมาไล่ดู Log มีข้อมูลแนะนำที่น่าสนใจอันนึงครับ The project file cannot be opened. Unable to locate the .NET SDK. Check that it is installed, your…