การแก้ไข: โปรแกรมประยุกต์แบบกำหนดเองที่ใช้ Visual Studio สำหรับรันไทม์ Visual Basic ของโปรแกรมประยุกต์ อาจไม่สามารถใน การคอมไพล์แมโคร หรือเรียกใช้แมโคร

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 928208 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

อาการ

พิจารณาสถานการณ์ต่อไปนี้::
  • คุณสามารถสร้างโปรแกรมประยุกต์แบบกำหนดเอง โดยใช้กรอบงาน Microsoft .NET 2.0
  • แอพลิเคชันที่กำหนดเองใช้ Microsoft Visual Studio สำหรับการรันไทม์ Visual Basic แอปพลิเคชัน (VSA)
  • คุณสามารถรันโปรแกรมประยุกต์ที่กำหนดเองในระบบที่ได้รับการปรับปรุงการเรียกใช้รุ่นที่ใหม่กว่าของการใช้งาน Microsoft .NET Framework ทั่วภาษาจริง (CLR)
ในสถานการณ์นี้ แอพลิเคชันที่กำหนดเองอาจทำงานอย่างไม่ถูกต้อง หรืออาจสร้างข้อผิดพลาด ปัญหาเหล่านี้เกิดขึ้น เมื่อคุณพยายามที่จะคอมไพล์แมโคร หรือ เมื่อคุณพยายามเรียกใช้แมโครในแอพลิเคชันที่กำหนดเอง

เมื่อคุณกำลังพัฒนาโปรแกรมประยุกต์ที่กำหนดเอง โดยใช้ VSA คุณอาจพบปัญหาต่อไปนี้ เมื่อโปรแกรมประยุกต์ที่มีการกำหนดเองที่เรียกนั้นMicrosoft.VisualBasic.Vsa.VsaEngine.Compileวิธีการ ข้อยกเว้นคือ thrown โดยการรันไทม์ของ Visual Basic VSA ไปยังโฮสต์ โฮสต์อาจ trap ข้อยกเว้น และผู้ใช้อาจได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
มีความพยายามที่จะโหลดโปรแกรมที่ มีรูปแบบไม่ถูกต้อง (ยกเว้นจาก HRESULT: 0x8007000B)
อีกวิธีหนึ่งคือ โฮสต์อาจละเว้นข้อยกเว้น และหนึ่งอาการดังต่อไปนี้อาจเกิดขึ้น:
  • โฮสต์ไม่โดยไม่คาดคิดเมื่อผู้ใช้ที่คุณได้พยายามเรียกใช้แมโครที่ผู้ใช้ที่คอมไพล์เท่านั้น
  • โฮสต์ไม่จัดการแมโคร ด้วยวิธีใด
ในกรณี latter, CLR จะปิดโปรแกรมประยุกต์ได้เนื่องจากโปรแกรมประยุกต์ที่มีข้อยกเว้น unhandled

เมื่อคุณพยายามที่จะเรียกใช้แมโครในแอพลิเคชันที่กำหนดเอง คุณอาจพบอาการต่อไปนี้อย่างน้อยหนึ่งอย่าง:
  • คุณได้รับข้อความแสดงข้อผิดพลาดว่า แมโครไม่สามารถสร้าง หรือเรียกใช้
  • คุณได้รับข้อความแสดงข้อผิดพลาดว่า แมโครหรือแอสเซมบลีไม่สามารถโหลด
  • แอพลิเคชันของโฮสต์อาจไม่เริ่มทำงาน หรืออาจออกโดยไม่คาดคิด
  • แม้ว่าโปรแกรมประยุกต์ของโฮสต์ไม่รายงานข้อผิดพลาด ไม่มีการทำงานแมโคร และแอพลิเคชันปรากฏขึ้นให้ทำสิ่งใด

สาเหตุ

ปัญหานี้เกิดขึ้นเนื่องจากการเปลี่ยนแปลงการออกแบบล่าสุดในการใช้งานจริงของเวิร์กสเตชัน CLR (Mscorwks.dll) สำหรับ builds .NET Framework 2.0 ที่เป็นวันหลังจาก 2.0.50727.300 การเปลี่ยนแปลงนี้นำมาใช้ปัญหาความเข้ากันได้สำหรับการรันไทม์ Visual Basic โปรแกรม (Vsavb7rt.dll) ที่ใช้ โดย VSA ปัญหาป้องกันไม่ให้แอสเซมบลีจาก beng ที่สร้างขึ้นอย่างถูกต้องในระหว่างการดำเนินการคอมไพล์แมโคร

ปัญหานี้อาจทำให้เกิดข้อผิดพลาดข้อยกเว้นข้อความที่ระบุไว้ในส่วน "อาการ" จะส่งคืนแอพลิเคชันของโฮสต์ แอพลิเคชันของโฮสต์อาจรายงานข้อผิดพลาดนี้ให้กับผู้ใช้ในลักษณะบางอย่าง Alternatively, the host application may throw an exception and exit unexpectedly.

หมายเหตุ:Custom applications that use the full-feature Microsoft Visual Studio for Applications Software Development Kit (SDK) and the .NET Framework 1.1 do not experience this problem. This problem occurs only in host applications that use the VSA runtime that is included with the .NET Framework 2.0.

การแก้ไข

ข้อมูลโปรแกรมแก้ไขด่วน



โปรแกรมแก้ไขด่วนที่ได้รับการสนับสนุนจาก Microsoft พร้อมใช้งานแล้ว อย่างไรก็ตาม โปรแกรมแก้ไขด่วนนี้มีเป้าหมายเพื่อการแก้ไขปัญหาที่อธิบายไว้ในบทความนี้เท่านั้น นำโปรแกรมแก้ไขด่วนนี้ไปใช้กับระบบที่พบปัญหานี้เท่านั้น โปรแกรมแก้ไขด่วนนี้อาจได้รับการทดสอบเพิ่มเติม ดังนั้น หากคุณไม่ได้รับความเสียหายรุนแรงจากปัญหานี้ เราขอแนะนำให้คุณรอการปรับปรุงซอฟต์แวร์ถัดไปที่มีโปรแกรมแก้ไขด่วนนี้

ถ้าต้องการดาวน์โหลดการแก้ไขด่วนนี้จาก MSDN Code Gallery โปรดเข้าสู่เว็บไซต์ของ Microsoft ดังต่อไปนี้::
http://code.msdn.microsoft.com/KB928208

หมายเหตุ:เก็บรหัส MSDN แสดงภาษาในโปรแกรมแก้ไขด่วนมีอยู่ ถ้าคุณไม่พบภาษาของคุณปรากฏอยู่ แสดงว่าเพจทรัพยากรของ Code Gallery ไม่มีให้บริการสำหรับภาษานั้น

หมายเหตุ:หากเกิดปัญหาอื่น ๆ หรือ ถ้ามีการแก้ไขปัญหาเป็นสิ่งจำเป็น คุณอาจต้องสร้างการร้องขอบริการแยกต่างหาก ค่าใช้จ่ายในการสนับสนุนปกติจะเกิดขึ้นเมื่อมีคำถามและประเด็นการสนับสนุนอื่นๆ ซึ่งไม่จัดอยู่ในโปรแกรมแก้ไขด่วนเฉพาะที่กล่าวถึงนี้ สำหรับรายการของหมายเลขโทรศัพท์ของฝ่ายบริการและการสนับสนุนลูกค้าของ Microsoft ทั้งหมด หรือถ้าต้องการสร้างคำขอรับการสนับสนุนแยกต่างหาก โปรดเข้าสู่เว็บไซต์ของ Microsoft ต่อไปนี้::
http://support.microsoft.com/contactus/?ws=support

ข้อกำหนดเบื้องต้น

ไม่มีข้อกำหนดเบื้องต้นใดๆ

ข้อกำหนดในการเริ่มต้นระบบคอมพิวเตอร์ใหม่

คุณไม่จำเป็นต้องเริ่มต้นคอมพิวเตอร์ใหม่หลังจากใช้โปรแกรมแก้ไขด่วนนี้

ข้อมูลแฟ้ม

โปรแกรมแก้ไขด่วนรุ่นภาษาอังกฤษนี้มีแอตทริบิวต์แฟ้ม (หรือแอตทริบิวต์แฟ้มหลังจากนี้) ซึ่งแสดงในตารางต่อไปนี้ วันที่และเวลาของแฟ้มเหล่านี้จะปรากฏในรูปแบบเวลามาตรฐานสากล (UTC) เมื่อคุณดูข้อมูลแฟ้ม ข้อมูลจะถูกแปลงเป็นเวลาท้องถิ่น เมื่อต้องการค้นหาความแตกต่างระหว่างเวลา UTC กับเวลาท้องถิ่น ใช้โซนเวลาแท็บในรายการวันและเวลาใน'แผงควบคุม'
Operating systems earlier than Windows Vista
ยุบตารางนี้ขยายตารางนี้
ชื่อแฟ้มรุ่นของแฟ้มขนาดแฟ้มวันที่เวลาแพลทฟอร์ม
Vsavb7rt.dll8.0.50727.2441,330,68816-Nov-200608:06x86
Windows Vista:
ยุบตารางนี้ขยายตารางนี้
ชื่อแฟ้มรุ่นของแฟ้มขนาดแฟ้มวันที่เวลาแพลทฟอร์ม
Vsavb7rt.dll8.0.50727.7841,330,68818-May-200714:07x86

สถานะ

Microsoft ยืนยันว่าจุดบกพร่องนี้เป็นสิ่งที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"

ข้อมูลเพิ่มเติม

สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
824684คำอธิบายของคำศัพท์มาตรฐานที่ใช้เพื่ออธิบายปรับปรุงซอฟต์แวร์ของ Microsoft

คุณสมบัติ

หมายเลขบทความ (Article ID): 928208 - รีวิวครั้งสุดท้าย: 15 มกราคม 2554 - Revision: 2.0
ใช้กับ
  • Microsoft .NET Framework 2.0
  • Microsoft Visual Studio 2005 Professional
Keywords: 
kbqfe kbfix kbmt KB928208 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:928208

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com