รวบรวม Code ต่างๆนานา ที่เคยพบเจอมาจากประสบการณ์

UNDERGROUND PROGRAMMER PRESENT

วันศุกร์ที่ 2 มีนาคม พ.ศ. 2561

Trick #1 could not load file or assembly 'System.EnterpriseServices.dll'

ในหลายครั้งหลายคราว การเขียนโปรแกรมเพื่อติดต่อกับข้อมูลจากภายนอกนั้นเป็นสิ่งจำเป็นที่จะหลีกเลี่ยงไม่ได้ และแน่นอนว่า ปัญหาของการติดต่อนั้นก็จะมีตามมมาเช่นกัน
 ที่มาที่ไป : ในการพัฒนาโปรแกรมนั้น การที่เขียนโปรแกรมเสร็จสิ้น Compile ผ่าน พร้อมติดตั้งพร้อมใช้งานแต่เมื่อ นำไปติดตั้งที่เครื่องของบุคคลอื่น หรือลูกค้ากับพบเจอกับปัญหา และสิ่งหนึ่งของปัญหาที่เจอคือ

อย่าตกใจไป มันแค่หาไฟล์ไม่เจอ  มาเริ่มตรวจสอบและแก้ไขกัน
1.เข้าไปตรวจสอบก่อนว่ามีไฟล์ 'System.EnterpriseServices.dll' อยู่หรือไม่ ซึ่งที่อยู่เก็บไฟล์นี้ จะไม่สามารถเข้าผ่าน Windows Explorer ได้ ซึ่งไฟล์นี้จะเก็บอยู่ภายใต้ โฟล์เดอร์ GAC_32 ดังนั้นจึงต้องทำการเข้าผ่าน Command Prompt โดยใช้คำสั่ง ดังนี้

cd C:\WINDOWS\assembly\GAC_32\System.EnterpriseServices\2.0.0.0__b03f5f7f11d50a3a

จากนั้นก็ให้ใช้คำสั่ง Dir เพื่อดูว่ามีข้อมูลหรือไม่ (ตามภาพ ข้างล่างหากพบก็จะปรากฏ ดังภาพ หากไม่มีก็เข้าสู่ขั้นตอนถัดไป)



2.เข้าไปตรวจสอบไฟล์ ในโฟล์เดอร์ Frameworkโดยใช้คำสั่ง

cd C:\Windows\Microsoft.NET\Framework\v2.0.50727





จากนั้นก็ให้ใช้คำสั่ง Dir เพื่อดูว่ามีข้อมูลหรือไม่ ('System.EnterpriseServices.dll') จากนั้นก็ใช้คำสั่งในการ Copy ไฟล์ไปยัง Directory C:\WINDOWS\assembly\GAC_32\ 
โดยใช้คำสั่ง ดังนี้

copy System.EnterpriseServices.dll C:\WINDOWS\assembly\GAC_32\System.EnterpriseServices\2.0.0.0__b03f5f7f11d50a3a


3.จากนั้น จะต้องคัดลอกไฟล์ทั้งหมดที่เหลือไปด้วย โดยใช่คำสั่ง

cd C:\Windows\Microsoft.NET\Framework\v2.0.50727

จากนั้นกด  Enter แล้วใช้คำสั่ง

copy *.dll C:\WINDOWS\assembly\GAC_32\System.EnterpriseServices\2.0.0.0__b03f5f7f11d50a3a

ในขั้นตอนนี้ ระบบจะถามว่าต้องการเขียนทับหรือไม่ ก็ตอบ Yes/No ไป แต่ความจริงแล้วไม่มีความจำเป็นต้องเขียนทับก็ได้

เป็นอันเสร็จสิ้น





ไม่มีความคิดเห็น:

แสดงความคิดเห็น