Category dotnet

[.NET] มา Debug ตัว NuGet Package กันครับ

C# Logo

หลังจากบทความก่อนหน้าที่ได้สอนว่าทำอย่างไรถึงได้ NuGet Package มาใช้งานกันเอง หรือ ใช้ภายในองค์กรแล้วครับ คราวนี้ผมมาสอนว่าถ้ามันเกิดปัญหาจริงๆ แล้วเราจะต้องเข้ามา Debug ตัว NuGet Package ที่ใช้ต้องทำอย่างไรบ้างครับ ทำไมต้อง Debug ตัว NuGet Package มารู้จักกันก่อนว่า NuGet Package แบบไหนถึงจะ Debug ได้ ถ้าเป็น Open Source บ้างเจ้าเค้าจะทำ Symbol ไว้ให้ รายละเอียดขึ้นกับแต่ละ Repo เลยครับ ถ้าไม่มีต้องมา Build และเพิ่ม Symbol สำหรับ Debug ทำให้…

[.NET] กำหนดให้ Visual Studio รู้จักกับ Custom NuGet Server/Repository ครับ

nuget

จากบทความก่อนหน้าตอนนี้ทุกท่านน่าจะรู้รายละเอียด และวิธีการนำ Library ของมาทำเป็น NuGet Package แล้วครับ คราวนี้มาทำให้ Visual Studio รู้จักกับ NuGet Server ที่เพิ่มมาครับ อาจจะเป็นตัว Nexus / NuGet Server โดยมีขั้นตอน ดังนี้ เมื่อกำหนดค่าเสร็จ ที่นี้เราลองมาดูว่าสามารถค้นหา NuGet Package จาก NuGet Server ที่เพิ่งเพิ่มไปตามขั้นตอน ดังรูปเลยครับ

[.NET] ทำ NuGet ใช้เองภายในองค์กร

nuget

หลายคนอาจจะสงสัยในเมื่อ Source Code เป็นของเราเองทำไมต้องทำเป็น Nuget Package ด้วยหละ มันมีเหตุผลของมัน ดังนี้ครับ ถ้าจะทำ NuGet ใช้ในองค์กรเอง อันนี้เตรียมพร้อมอย่างไรบ้าง หมายเหตุ สำหรับ NuGet.Server และ Nexus Repository Server ถ้าว่างเดี๋ยวผมเขียน Blog แยกครับผม เตรียม Publish Code เข้า NuGet Server ครับ มาลอง Publish Code Reference

[PowerShell] มาทำ Line Notify แจ้งข้อมูลคุณภาพของ Code กันดีกว่าครับ

powershell

จริงๆต้องบอกว่าทุกปัญหามันเริ่มต้นจากความขี้เกียจแหละครับ และช่วงหลังๆสำหรับหน่วยงานต่างๆ การตรวจสอบคุณภาพของ Source Code ตอนนี้มันถูกจัดไปเป็นเงื่อนไขหนึ่งใน TOR แล้วครับ มันเลยเป็นที่มาของ Blog นี้ครับ หลังจากที่ผมได้ตั้ง SonarQube เพื่อมาตรวจสอบคุณภาพ Code กันแล้ว ปัญหาที่พบ 📌ไอ้ที่มันแหกกฏไปต้องทำอย่างไร ? 📌แล้วของใหม่ที่กำลังเพิ่มขึ้นเรื่อยจะคุมอย่างไร ทำไมต้องมี Line Notify ในเรื่องของ Code Quality หละ มาเข้ากันที่ Technical ดีกว่าครับ 📌 สิ่งที่ต้องมี ลงมือทำ SonarQube Server – อันนี้ไม่ขออธิบายนะครับ น่าจะมีหลาย Blog เขียนไว้แล้ว…

[PowerShell] Convert Hyper-V .VHD เป็น .VHDX และ Optimize ขนาดของ Disk

สำหรับการแปลง VHD ไปเป็น VHDX และทำการลดขนาดของ Disk (Shink เป็นไปได้แนะนำให้ทำใน Mode Offine ครับ) โดยใน ฺBlog นี้สอนแบบ Offline ด้วยโดยมีขั้นตอน ดังนี้ จัดการไฟล์ VM ของ VHD เดิมให้เรียยร้อยก่อน อาทิ เช่น ลบไฟล์ที่ไม่จำเป็น ทำการ Disk Clear พื้นที่ Disk CD เข้าไป Path ที่มีไฟล์ vhd แปลงไฟล์ VHD ไปเป็น VHDX ด้วยคำสั่ง…

[PowerShell] แก้ไขไฟล์ App.config ใน Jenkins Pipeline

powershell

หลังจากทำมี Tools ที่ กำหนดค่าที่เดียว แต่สามารถใช้งานไปได้ทุก Application แล้ว (Universal Configuration) แต่ทำไมคนอื่นถึงไม่ค่อยใช้งานกัน เราก็ถึงบ้างอ้อทันที อ๋อขี้เกียจไปแก้ app.config หรือ web.config นั้นเอง ด้วยความที่ระบบมันมี Base 3 สำหรับลูกค้า 3 กลุ่ม แต่ใช้ Code ชุดเดียวกันนะครับ มันจึงต้องมีการเตรียมค่าตั้งต้นกันก่อนนั้นเองครับ อาทิ เช่น Base AMC / INS ตัว Application อ่านค่าจาก HKEY_LOCALMACHINE Base TSY ตัว Application…

[VS] Uninstall Visual Studio 2017

อยากลง Visual Studio 2019 แต่ติดว่าเครื่องเก่ามีเวอรชัน 2017 อยู่ อยากจะล้างให้สะอาดสามารถทำตามขั้นตอนได้ ดังนี้ครับ เปิด Command Line แบบ Administrator cd เข้าไปที่ Path “C:\Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\layout\” run installcleanup.exe ผลที่ได้ โดยตัว Tools ของ MS จะช่วย Delete ข้อมูลของ Visual Studio โดยมีรายละเอียดการลบ ดังนี้ C:\ProgramData\Microsoft\VisualStudio\15.0 C:\ProgramData\Microsoft\VisualStudio\Packages %appdata%\Microsoft\VisualStudio\15.0* %appdata%\Microsoft\VisualStudio\Packages…

[C#] DTO/Mapper Class Example

C# Logo

DTO คือ อะไร? DTO คือ Data Transfer Object พูดง่าย ๆ ก็คือเป็น object ที่ใช้ในการส่ง data กันในระบบครับ นอกจากนี้แล้ว การใช้ DTO ยังเป็นการ Limit ข้อมูล หรือมองว่าเป็นการกำหนด Pattern ให้กับ Request / Response กับระบบ และยังป้องกัน Over-posting Attack (คนร้ายเดา Field ได้ถูก แล้วลองส่ง Request เข้ามา) ถ้าไม่มี DTO ดักไว้…

[C#] ให้ Log4net เขียน Log แยกตาม Process Id ของ Application

Ref https://pixabay.com/th/การวิเคราะห์-ข้อมูล-นวัตกรรม-3088958/

จาก Blog ตอนก่อนของ Site ได้ Deploy ตัว .Net App ไว้ที่ Windows Server ไว้ที่ Drive C: แล้วให้ User Remote เข้ามาใช้งานครับ แต่พอเวลามีปัญหามันดัน Write Log ไม่ได้ครับ เพราะ Application ทุกตัวที่ที่รันขึ้นมา ดันเขียน Log ลงไปที่ Path และไฟล์ชื่อเดียวกันครับ ทำให้ User สามารถเปิดโปรแกรมใช้งานได้แค่ 1 Instance เท่านั้นครับ เมื่อทาง Dev ต้องการหาสาเหตุของ…

[C#] ทำให้การ Debug เป็นเรื่องง่าย โดยการใช้ toString()

C# Logo

เคยสังเกตุบ้างไหม ว่าเวลาที่ต้องการดู Data ที่เก็บอยู่ใน Object มันข่างยากลำบากเหลือเกิน ถ้าเป็น List แล้วเนี่ย ถึงกับตายได้เลย จากรูปด้านล่าง ถ้ามีใน List มี 18 ตัว ถ้าอยากหา Object ที่สนใจต้องกดไล่ดูมากที่สุดถึง 18 ครั้ง จะมาน่ั่งไล่กดเปิดดูที่ละอันมันก็ ไม่คุ้มนะ เปลืองแรงไป ดังรูป แล้วมันมี Trick อะไรช่วยไหม ตอบเลยว่ามีครับ ใช้ toString() สิ โดยเพิ่มเข้าไปที่ Object ของเราเลย อย่างของผม ลอง Complie แล้ว Debug…