ผมทำงานประกอบในสัปดาห์ที่จะเพิ่มบางเหตุการณ์สำหรับอินสแตนซ์ที่เฉพาะรายการ. (ฉัน blogged บิตเกี่ยวกับรายรับที่นี่).
ใช้บรรทัดคำสั่ง, ฉันสามารถติดตั้งคุณลักษณะข้อผิดพลาดไม่ (แต่ดูด้านล่างซ่อนข้อผิดพลาด). เมื่อฉันพยายามที่จะใช้งานลักษณะการทำงานบนเว็บไซต์, มอสแนะนำของ "FileNotFoundException" ข้อผิดพลาด. รายการบล็อกนี้อธิบายถึงวิธีที่ผมแก้.
นี่คือข้อผิดพลาดที่มอสส์พบฉันในเว็บเบราว์เซอร์:
คุณลักษณะ ' b2cb42e3-4f0a-4380-aaba-1ef9cd526f20’ ไม่สามารถติดตั้งเนื่องจากการโหลดแอสเซมบลีรับเหตุการณ์ "xyzzyFeatureReceiver_0" ล้มเหลว: System.IO.FileNotFoundException: ไม่สามารถโหลดแฟ้มหรือแอสเซมบลี ' xyzzyFeatureReceiver_0’ หรืออ้างอิงของ. ระบบไม่พบแฟ้มที่ระบุ.
ชื่อแฟ้ม: ' xyzzyFeatureReceiver_0’
ที่ System.Reflection.Assembly.nLoad(ชื่อ AssemblyName, สตริ codeBase, หลักฐาน assemblySecurity, แอสเซมบลี locationHint, StackCrawlMark& stackMark, ThrowOnFileNotFound บูลีน, ForIntrospection บูลีน)
ที่ System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, หลักฐาน assemblySecurity, StackCrawlMark& stackMark, ForIntrospection บูลีน)
ที่ System.Reflection.Assembly.InternalLoad(สตริ assemblyString, หลักฐาน assemblySecurity, StackCrawlMark& stackMark, ForIntrospection บูลีน)
ที่ System.Reflection.Assembly.Load(สตริ assemblyString)
ที่ Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
WRN: เปิดบันทึกรวมแอสเซมบลีออฟ.
การเปิดใช้การบันทึกประกอบผูกล้มเหลว, ตั้งค่ารีจิสทรี [HKLMSoftwareMicrosoftFusion!EnableLog] (DWORD) ถึง 1.
หมายเหตุ: มีโทษบางประสิทธิภาพที่เชื่อมโยงกับแอสเซมบลีผูกล้มเหลวเข้าสู่ระบบ.
เมื่อต้องการปิดคุณลักษณะนี้, ลบค่ารีจิสทรี [HKLMSoftwareMicrosoftFusion!EnableLog].
ฉันรู้วิธีการทำให้เกิดข้อผิดพลาดที่จงใจ: ไม่ติดตั้งแอสเซมบลีใน GAC การ. แต่, ใน GAC การ. ฉันปกติติดตั้งแอสเซมบลีใน GAC ที่ โดยลากลงใน c:\windowsassembly โฟลเดอร์โดยใช้ windows explorer. ผมไม่เคยรู้สึก 100% สะดวกสบายที่ทำเนื่องจากเสมอคิด gacutil ที่มีเหตุผล … ดังนั้น พยายามที่. มันไม่แตกต่าง.
ฉันค้น Internets และพบกระทู้นี้: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1
โปสเตอร์ที่เกิดขึ้นต้อง ใช้บิตรากเดียวกันของรหัส (จากหนังสือภายใน WSS จากรายการนี้) เพื่อที่ได้เครื่องที่มีความหวัง. อย่างไรก็ตาม, คำแนะนำของผสมที่ประกอบด้วยการ [แอสเซมบลี: ] คำสั่งไม่ได้ทำให้รู้สึกถึงฉัน. ฉันพยายามต่อไป และผมด้านขวา. มันไม่แตกต่าง.
จากนั้น ผมสังเกตเห็นว่า คำจำกัดความคลาฉันไม่สาธารณะ. ฉันทำมันสาธารณะ และที่ทำไม่แตกต่าง.
ถัดไป, ผมไปแก้ไขปัญหาการเปิดใช้งาน "แอสเซมบลีผูกล้มเหลวล็อก" (ตามคำแนะนำดี และถูกต้องให้) และนี่คือสิ่งที่เริ่มต้นได้น่าสนใจที่. บันทึกการแสดงผมว่า ขณะที่กำลังค้นหาทุกบนเซิร์ฟเวอร์สำหรับแอสเซมบลีของฉัน. แม้เหมือนจะค้นหาในตู้ยาของฉัน. แต่ … มันจะไม่ค้นหาแฟ้มใน GAC การ.
ฉันใส่เสื้อหนาวของฉันไปค้น Internets อีกครั้ง และพบว่า คนที่มีปัญหานี้มากเกินไป. การสนทนาที่ยาวนานในบัญชี peters ปิดเป็นอะไร และไม่พบปัญหา.
ไม่ย้ายแอสเซมบลีของฉันเป็นหนึ่งในสถานที่ล็อกอ้างว่า เป็นการค้นหา และทำการความคืบหน้าน้อยมาก. ฉันกำลังรับข้อผิดพลาดใหม่ในเบราว์เซอร์รางวัลเมื่อพยายามเปิดใช้งานลักษณะการทำงาน:
ไม่สามารถสร้างวัตถุคุณลักษณะรับจากแอสเซมบลี "xyzzyFeatureReceiver_0", พิมพ์ "Conchango.xyzzyFeatureReceiver" สำหรับลักษณะการทำงาน b2cb42e3-4f0a-4380-aaba-1ef9cd526f20: System.ArgumentNullException: ค่าไม่สามารถเป็น null.
ชื่อพารามิเตอร์: ชนิด
ที่ System.Activator.CreateInstance(ชนิดชนิด, NonPublic บูลีน)
ที่ System.Activator.CreateInstance(ชนิดชนิด)
ที่ Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
เวลา Internets หนึ่งเที่ยวล่าสุด!
เวลานี้ที่ฉันค้นหา, ฉายพอ, มอที่ปัญหาข้อผิดพลาดนี้ได้เนื่องจากแอสเซมบลีที่ไม่ได้อยู่ใน GAC.
อยากจะได้รับเพิ่มจากนี้ และพยายามที่จะภูมิใจเล็กน้อยที่เราได้สร้างการ ผู้ต้องหาของแอสเซมบลี MSIL, แต่มันไม่ทำงาน. ฉันรำคาญเพียง plain. ค้นหาตัวเอง muttering "ไก่หรือไข่" ภายใต้ลมหายใจของฉัน.
ผมก็ตัดสินใจอินเทอร์เน็ต. ฉันสร้างเป็นโครงการใหม่ทั้งหมด และคัดลอก/วางรหัสในโครงการทำงาน incredible-cloaked-from-the-GAC-assembly ผ่านไปโครงการนี้ใหม่. (ฉันมองหาธงสร้างเรียกว่าสิ่งที่ชอบ "ซ่อนจากผูกถ้าติดตั้งใน GAC การแอสเซมบลี" แต่ไม่สามารถหา).
ผมติดตั้งคุณลักษณะนี้ และเปิดใช้งาน และ … การทำงาน! ดังนั้น, หลังจากนั้นทั้งหมด, ผมจะเป็นพื้น ' เริ่มต้น’ โครงการของฉัน. นี่คืออีกเหตุผลที่ทำไมฉันเกลียดคอมพิวเตอร์.
ไม่ได้เรียนสิ่งที่เป็นประโยชน์จากนี้. ฉันได้รับการติดตั้งคุณลักษณะโดยใช้บรรทัดคำสั่งหรือตลอดทั้งวัน และใช้การ "-แรง" เลือกจากนิสัย. เหตุผลบางประการ, ผมไม่ได้ใช้ตัวเลือกแรงเมื่อติดตั้งโครงการใหม่. คราวนี้, ฉันไม่ได้จริง ๆ, ลืมการคัดลอกโครงการนี้ใหม่แอสเซมบลีใน GAC แท้จริง. เป็นผล, ฉันได้รับที่ FielNotFoundException"" ข้อผิดพลาด. คราวนี้, ได้รับจาก, ไม่เมื่อพยายามเปิดใช้งานลักษณะการทำงานผ่านเว็บเบราว์เซอร์. ดังนั้น, -แรงจริงเล่นสองบทบาท. อนุญาตให้คุณติดตั้งคุณลักษณะที่มีอยู่. มันยังช่วยให้คุณสามารถติดตั้งคุณลักษณะรถที่ไม่ทำงานขณะใช้งานจริง โดยเมื่อข้อผิดพลาด. มันคงว่า มากในความช่วยเหลืออยู่ แต่ฉันไม่เคยพบมัน.
</สิ้นสุด>