- เหตุการณ์คือ ก่อนหน้านี้ พัฒนาเว็บ asp.net บน xp ด้วย vs2005 ใช้ framework 2.0
- พอเปลี่ยนไปใช้ windows 7 และ ลง vs2008 เขียน page form เพิ่ม 1 หน้า
- นำ page form ใหม่ขึ้นบน server
- รัน page ใหม่ไม่ได้ขึ้นประมาณ
Server Error in '/aaa' Application.
--------------------------------------------------------------------------------
Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: CS0234: The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?)
Source Error:
Line 3: using System.Configuration;
Line 4: using System.Data;
Line 5: using System.Linq;
Line 6: using System.Web;
Line 7: using System.Web.Security;
Source File: f:\www\xxx\yyy.aspx.cs Line: 5
- ทั้งที่บน server ได้ติดตั้ง framework 3.5 sp1 แล้วนะ เพียงแต่ เว็บเราที่ iis config เค้ายังเรียกใช้ framework 2.0 อยู่ แต่คิดว่าไม่น่าเกี่ยวกัน
- ทดลองแก้ web.config บน server คือ เพิ่ม tag add assembly เกี่ยวกับ Linq เข้าไป หนึ่งบรรทัดก็ไม่หายนะ
- <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089">
- มาดู web.config บนเครืองที่พัฒนาเว็บ มันไม่ใช่แบบนี้น่ะสิครับ ไฟล์บน local เป็นแบบนี้
- <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089">
- แก้ใหม่ add ssembly="System.Xml.Linq..." ก็ไม่หายอ่ะ - -'
- ที่นี้เลยลอง คัดลอก web.config บนเครื่อง dev ไปวางบน server (ก่อนทำ backup web.config บน server ไว้ก่อนกันเหนี่ยว)
- page form อันใหม่ที่เขียน บน vs2008 ก็รันบน server 2003 iis 6.1 ได้แหละ
- ก่อนหน้านี้พยายามแก้คอนฟิกให้ site เราเรียกใช้ asp.net framework 3.5 นะแต่ทำไม่เป็น แต่ยังไงก็รันได้แหละ ใช้ 2.0 ไม่มีปัญหารัน 3.5 ได้เหมือนเดิม แค่เราต้องลง framework 3.5 ไว้บน server ด้วยแค่นี้เอง
สรุป
- บน server ต้องติดตั้ง framework 3.5
- ถ้า คัดลอกแต่ page form อันใหม่ แล้วรันไม่ได้
- ให้ดู web.config ต่างกันมากแค่ใหนคัดลอกจากเครื่อง dev ขึ้นบน server ได้เลย
- คิดว่า web จะมีการ import library ผ่าน web.config นะ
- backup กันเหนียว
- อีกอย่างสังเกตดูใน web.config ที่เครื่อง dev
- เห็นเค้าเรียกใช้ framework 1.0, 2.0, 3.5 รวมกันเลยหว่า
อ้างอิง
No comments:
Post a Comment