คำถามติดแท็ก com-interop

30
ฉันจะทำความสะอาดวัตถุ interop ของ Excel อย่างเหมาะสมได้อย่างไร
ฉันใช้การทำงานร่วมกันของ Excel ใน C # ( ApplicationClass) และได้วางรหัสต่อไปนี้ในประโยคสุดท้ายของฉัน: while (System.Runtime.InteropServices.Marshal.ReleaseComObject(excelSheet) != 0) { } excelSheet = null; GC.Collect(); GC.WaitForPendingFinalizers(); แม้ว่างานประเภทนี้Excel.exeจะยังอยู่ในพื้นหลังแม้ว่าฉันจะปิด Excel ก็ตาม มันจะเปิดตัวก็ต่อเมื่อแอปพลิเคชันของฉันถูกปิดด้วยตนเอง ฉันกำลังทำอะไรผิดหรือมีทางเลือกอื่นเพื่อให้แน่ใจว่ามีการกำจัดวัตถุ interop อย่างถูกต้องหรือไม่
747 c#  excel  interop  com-interop 

17
การดึงโรงงานคลาส COM สำหรับส่วนประกอบที่มี CLSID {XXXX} ล้มเหลวเนื่องจากข้อผิดพลาดต่อไปนี้: 80040154
ฉันพัฒนาบริการ Windows โดยใช้ C # .NET เพื่อสร้างรายงาน PDF ในการสร้างไฟล์ PDF ฉันใช้ dll ของ บริษัท อื่น แอปพลิเคชันทำงานในแพลตฟอร์ม Windows XP ของฉัน เมื่อฉันปรับใช้บริการในWindows Server 2008รุ่น 64 บิตฉันได้รับข้อผิดพลาดนี้: การดึงโรงงานคลาส COM สำหรับส่วนประกอบด้วย CLSID {46521B1F-0A5B-4871-A4C2-FD5C9276F4C6} ล้มเหลวเนื่องจากข้อผิดพลาดต่อไปนี้: 80040154 ฉันลงทะเบียน DLL โดยใช้คำสั่ง regsvr32 ฉันสามารถดู CLSID นี้ในรีจิสทรี แต่ปัญหายังคงอยู่ มีปัญหาอะไร

15
กายวิภาคของ“ ความจำรั่ว”
ใน. NET เปอร์สเปคทีฟ: คืออะไรหน่วยความจำรั่ว ? คุณจะทราบได้อย่างไรว่าแอปพลิเคชันของคุณรั่วหรือไม่? เอฟเฟกต์คืออะไร? คุณจะป้องกันการรั่วไหลของหน่วยความจำได้อย่างไร? หากแอปพลิเคชันของคุณมีหน่วยความจำรั่วก็จะหายไปเมื่อกระบวนการออกหรือถูกฆ่า? หรือการรั่วไหลของหน่วยความจำในแอปพลิเคชันของคุณส่งผลกระทบต่อกระบวนการอื่น ๆ ในระบบแม้หลังจากเสร็จสิ้นกระบวนการ และรหัสที่ไม่มีการจัดการที่เข้าถึงได้ผ่าน COM Interop และ / หรือ P / Invoke
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.