[.NET] เปิด Visual Studio หน้า Design UI ไม่ขึ้น เจอ Error NuGet process crashed and left an inaccessible lock file

Visual Studio

สำหรับ Blog นี้ ตอนแรกว่าจะไม่เขียนครับ เพราะมันมี Error Message ที่แจ้งชัดเจนอยู่แล้วครับ แต่มีคนถามส่วนตัว 5-6 ท่านและ เลยคิดว่าเขียนดีกว่า จะได้ Google ได้ง่าย เพราะเคสล่าสุดอาจารย์ที่ปรึกษามาถาม และอธิบายไปรอบนึง จากนั้นลูกศิษย์ก็มาถามอีกที … ตัว Error Unable to obtain lock file access on ปัญหา สาเหตุ Unable to obtain lock file access on ‘C:\Users\{yourusername}\AppData\Local\Temp\NuGetScratch\lock\a5caae1e4c2b8a1b973a1eb9525c64844d6ecb11’ for operations on ‘C:\Users\{yourusername}\AppData\Roaming\NuGet\NuGet.Config’. This may mean that a different user or administrator is holding this lock and that this process does not have permission to access it. If no other process is currently performing an operation on this file it may mean that an earlier NuGet process crashed and left an inaccessible lock file, in this case removing the file C:\Users\{yourusername}\AppData\Local\Temp\NuGetScratch\lock\a5caae1e4c2b8a1b973a1eb9525c64844d6ecb11’…

สรุปงาน Azure Native Meetup #1 (DevOps)

ระหว่างทำงานไปช่วงวันหยุด มีแวะไปฟังงานนี้ครับ เหมือนเห็น Link แว็บๆในกลุ่ม Openchat เลยเข้ามาฟังเรื่อยๆ ระหว่างหา Bug ไป เลยเข้า Track DevOps ยาวเลย Track 1: Getting Started Azure Cognitive Service Container (Teerasej Jiraphatchandej) Azure Cognitive Service AI Service ที่มี API ที่ให้เราพร้อมใช้งาน (Ready to Use) โดยมี API / SDK ช่วย หรือจะ Custom ผ่าน Portal ก็ได้ Model ที่ได้ มันก็จะตาม Responsible AI (ศีลของ AI ชอบคำนี้ 555+) Cognitive ประกอบด้วย อะไรบ้าง – Vision (ตามอง) / Text Analysis / Speech (เสียง) / Decision Making ค่าใช้จ่าย pay per use (ตามจำนวนครั้งที่ใช้) วัดความมั่นใจมาจาก Confident Score Azure Cognitive Container Azure Cognitive Service ในรูปแบบ Container เอามา Image มา Deploy On-Premise เองได้ เอามาใช้กรณีที่ไม่อยากส่งข้อมูลไปนอกข้างนอกได้ แก้ปัญหาเรื่อง Privacy ตอบโจทย์ PDPA / Spec & Performance…

[Jenkins] รวม Tools เจ๋งๆ ของ VSCODE ที่มาช่วยจัดการ Jenkinsfile นั้นง่ายขึ้น

jenkins

สำหรับวันนี้ ผมมี Extensions ของ VSCODE ที่มาแนะนำ เพื่อช่วยให้เราสามารถจัดการ JenkinsFile ให้มันง่ายขึ้นครับ ดังนี้ครับ Jenkinsfile คือ อะไร ? Jenkinsfile [formerly JenkinsFile Support]  Jenkins Pipeline Linter Connector – มาดู Config ที่สำคัญครับ Key Value jenkins.pipeline.linter.connector.url URL ชอง Jenkins https://[your_jenkins_server:port]/pipeline-model-converter/validate jenkins.pipeline.linter.connector.crumbUrl ใส่ Crumb URL ใข้กรณีที่ Jenkins เรามีป้องกัน Cross-site Request Forgery (CSRF) โดยมี Template URL ดังนี้ https://[your_jenkins_server:port]/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,%22:%22,//crumb)) jenkins.pipeline.linter.connector.user user ของ jenkins แนะนำว่าใช้สิทธิต่ำๆ พอนะ jenkins.pipeline.linter.connector.pass pass ของ jenkins แนะนำว่าใช้สิทธิต่ำๆ พอนะ jenkins.pipeline.linter.connector.token ถ้าไม่ใช่ user + pass ใช้ Token ได้นะ แต่ของผมใช้ภายในองค์กร เลยใช้ user + pass แหละ jenkins.pipeline.linter.connector.strictssl ติ๊ก เพื่อให้มัน Error Certificate แบบใช้ใน Private Network เราอาจจะไม่ได้กำหนด SSL ใช้มัน ก็ติ๊ก “Set to false to allow invalid ssl connections” – ทดสอบกันครับ สำหรับผู้อ่านที่ผ่านมา หากมี Extensions…

[PODMAN] rootless container error “Disk quota exceeded”

วันนี้เป็นปัญหาที่น่าปวดหัวเหมือนกันหลังจากใช้ Podman ไป 1 ปีนิดๆครับ อยู่ลูกค้าแจ้งปัญหามาว่า Disk quota exceeded มาจากไหน ? เดี๋ยวต้องไปหาที่มาเพิ่ม Solution ตรวจสอบก่อนว่า maxkey มีค่าเท่าไหร่ ด้วยคำสั่ง ลองดูจำนวนปัจจุบันสิ มีค่าเท่าไหร่ (ต้อง Login เข้าไป และรันแยก User นะ เพราะ ตัวระบบมันเก็บค่าแยก Per User (Ref: sysctl – Is kernel.keys.maxkeys per user or per key?) ในกรณีที่ค่าของมันเกิน maxkeys เช่น ต้องไปเพิ่ม maxkeys ต้องใช้ user root นะ ด้วยคำสั่ง นอกจากเพิ่ม maxkeys แล้ว ถ้าลองไปดูใน API keyrings(7) – Linux manual page (man7.org) มันจะมี maxbytes ด้วยนะ อาจจะเพิ่มได้ด้วยกันเลย แต่การเพิ่มมันจะใช้ Memory เพิ่ม ต้องระวังด้วย ลองปรับ maxbytes ต้องใช้ user root นะ ด้วยคำสั่ง ** 10485760 bytes = 10 MB ปรับไปแล้วอย่าลืมเอา maxkeys * maxbytes เดี๋ยวเพิ่มไปแล้ว Server RAM ไม่พอ อย่างของผมปรับ maxkeys = 400 maxbytes = 10485760 // 10 MB ใช้…

[C#] Dapper Error connection assigned to the command is in a pending local transaction. 

ช่วงนี้มีไปช่วยน้องในทีมแก้ปัญหาระบบซื้อขาย Bond โดยน้องเอา Service เดิมที่เคยทำไว้ในผูกกันเป็น Flow ใหม่ครับ แล้วทีนี้เจอ Error หลังจากลองไล่ดู Code พบว่าเป็นส่วนคำสั่งที่เรียก Dapper ให้มันช่วย Query ให้ เลยเพิ่มตัว Transaction ใส่ครอบเข้าไปครับ อีกเคส ต้องไปใส่ Transaction Scope ด้วย พวก BeginTran / Commit

[CR] Starbucks Mayongchid Juice

ราคา 155 บาท รสชาติ หวานอมเปรี้ยว คิดว่ากดสดๆ น่าจะได้รสชาติมากกว่า สามารถเพิ่ม Espresso Shot ได้ด้วย ส่วนตัวชอบ Valencia มากกว่าครับ หวานกลมกล่อมมากกว่าครับ ถ้าอยากดู Review กลุ่มเมนูน้ำส้ม ดูจาก Tag ได้เลยครับ พลังงาน 140 Kcal ครับ Reference (พลังงานของแต่ละเมนู) ตามรูปเลยครับ

[SECURITY] Password Spraying คือ อะไร

ช่วงนี้ผมได้ลองศึกษาพวก Cloud มันจะมีด้าน Security ด้วยนะ และ Feature ที่รองรับ 1 2 3 4 ผมมาเ๊ะใจคำนึงนะ Password Spraying มันดู้ป็นศํพท์ใหม่ที่ Dev อย่างพวกเราไม่น่าจะรู้จักมาก่อนเลย Password Spraying คือ อะไร ต่างกับวิธีการเดิมๆ Brute force อย่างไร ? Reference

[IIS] ASP.NET Core – HTTP Error 500.19 – Internal Server Error (Error Code 0x8007000d)

วันนี้มาช่วยแก้ปัญหาที่ Site ลูกค้า เนื่องจากเครื่องที่ติดตั้ง Migration Tools (ASP.NET Core 3.1) ที่ทำมาตั้งแต่ปี 2019 พังไปแล้วครับ เลยได้ต้องไปช่วยดูเคสนิดหน่อยหลังจากที่ IT ของลูกค้าได้ลองติดตั้งครับ เมื่อทดสอบพวก Error 500.19 (Error Code 0x8007000d) ครับ ตรวจสอบกันก่อน สิ่งที่ผมสงสัย IIS ไม่รู้จัก Module AspNetCoreModuleV2 โดยการตรวจสอบให้ไปที่ Internet Information Service (IIS) Manager เลือก Site ที่เกิดปัญหา จากนั้นลอง Click ที่ Module ถ้า Error ตามรูป ใช่เลยครับ การแก้ไข AspNetCoreModuleV2 ติดตั้ง ASP.NET Core Runtime (Hosting Bundle) – ต้องลงแบบ Host Bundle เพราะมี IIS runtime support ครับ หลังจากติดตั้งเสร็จ ลอง Restart IIS และตรวจสอบ Internet Information Service (IIS) Manager เลือก Site ที่เกิดปัญหา จากนั้นลอง Click ที่ Modules จะต้องมี AspNetCoreModuleV2 ขึ้นมาแล้วครับ ทดสอบเข้า Site ได้เลยครับ หลายคนอาจจะอ่านแล้วสงสัยว่า อันนี้ทำไมไม่ขยับไปเป็น container เคยลองแล้วครับ แต่ Environment ลูกค้า ขอฟรีทั้ง Tools และไม่มีตั้งงบเรื่อง Server ของ Tool นี้ เลยได้…