วิธีแก้ไขปัญหา: “FileNotFoundException” ด้วยตัวรับสัญญาณของฉันคุณลักษณะ.

ผมทำงานประกอบในสัปดาห์ที่จะเพิ่มบางเหตุการณ์สำหรับอินสแตนซ์ที่เฉพาะรายการ. (ฉัน 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].

แก้ไขปัญหา ด้วย Windows SharePoint Services.

ฉันรู้วิธีการทำให้เกิดข้อผิดพลาดที่จงใจ: ไม่ติดตั้งแอสเซมบลีใน 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()

แก้ไขปัญหา ด้วย Windows SharePoint Services.

เวลา Internets หนึ่งเที่ยวล่าสุด!

เวลานี้ที่ฉันค้นหา, ฉายพอ, มอที่ปัญหาข้อผิดพลาดนี้ได้เนื่องจากแอสเซมบลีที่ไม่ได้อยู่ใน GAC.

อยากจะได้รับเพิ่มจากนี้ และพยายามที่จะภูมิใจเล็กน้อยที่เราได้สร้างการ ผู้ต้องหาของแอสเซมบลี MSIL, แต่มันไม่ทำงาน. ฉันรำคาญเพียง plain. ค้นหาตัวเอง muttering "ไก่หรือไข่" ภายใต้ลมหายใจของฉัน.

ผมก็ตัดสินใจอินเทอร์เน็ต. ฉันสร้างเป็นโครงการใหม่ทั้งหมด และคัดลอก/วางรหัสในโครงการทำงาน incredible-cloaked-from-the-GAC-assembly ผ่านไปโครงการนี้ใหม่. (ฉันมองหาธงสร้างเรียกว่าสิ่งที่ชอบ "ซ่อนจากผูกถ้าติดตั้งใน GAC การแอสเซมบลี" แต่ไม่สามารถหา).

ผมติดตั้งคุณลักษณะนี้ และเปิดใช้งาน และ … การทำงาน! ดังนั้น, หลังจากนั้นทั้งหมด, ผมจะเป็นพื้น ' เริ่มต้น’ โครงการของฉัน. นี่คืออีกเหตุผลที่ทำไมฉันเกลียดคอมพิวเตอร์.

ไม่ได้เรียนสิ่งที่เป็นประโยชน์จากนี้. ฉันได้รับการติดตั้งคุณลักษณะโดยใช้บรรทัดคำสั่งหรือตลอดทั้งวัน และใช้การ "-แรง" เลือกจากนิสัย. เหตุผลบางประการ, ผมไม่ได้ใช้ตัวเลือกแรงเมื่อติดตั้งโครงการใหม่. คราวนี้, ฉันไม่ได้จริง ๆ, ลืมการคัดลอกโครงการนี้ใหม่แอสเซมบลีใน GAC แท้จริง. เป็นผล, ฉันได้รับที่ FielNotFoundException"" ข้อผิดพลาด. คราวนี้, ได้รับจาก, ไม่เมื่อพยายามเปิดใช้งานลักษณะการทำงานผ่านเว็บเบราว์เซอร์. ดังนั้น, -แรงจริงเล่นสองบทบาท. อนุญาตให้คุณติดตั้งคุณลักษณะที่มีอยู่. มันยังช่วยให้คุณสามารถติดตั้งคุณลักษณะรถที่ไม่ทำงานขณะใช้งานจริง โดยเมื่อข้อผิดพลาด. มันคงว่า มากในความช่วยเหลืออยู่ แต่ฉันไม่เคยพบมัน.

</สิ้นสุด>

3 คิดเกี่ยวกับ“วิธีแก้ไขปัญหา: “FileNotFoundException” ด้วยตัวรับสัญญาณของฉันคุณลักษณะ.

  1. Francisco

    นอกจากนี้, ผมของฉัน 2 ชั่วโมงของช่วงเวลา nintendoSIXTYFOURRRR ใน-a-ไม่ดีทาง hysteric เมื่อฉันเปลี่ยนชื่อ Namespace บนรับคุณลักษณะ, เพื่อช่วยติดตาม ตำแหน่งของคุณหรือของใครเริ่ม.

  2. Francisco

    รากของปัญหาอยู่ใน wsp ใช้ในฐานข้อมูลของ sharepoint. อ่านโพสต์ของคุณ และในขณะที่แท้จริงสามารถแก้ไขปัญหา เรามีทางออกขนาดใหญ่หลายโครงการ และหลายสิบแฟ้มที่ย้ายดังนั้น จึงไม่ใช่ตัวเลือก.

    ไม่ว่าเท่าใดคุณปรับปรุงการ GAC หรือแอสเซมบลีของคุณ, อะไรจะให้ปัญหาเป็นแอสเซมบลีใน WSP ปัจจุบันที่ติดตั้ง sharepoint.

    คุณสามารถสังเกตเห็นได้ง่ายที่ โดยพยายามร่นเท่านั้น การแก้ปัญหา (ซึ่งเป็นที่เกิดข้อผิดพลาดหรือไม่). ทุกอย่างที่เกิดขึ้นใน "Retracting ครั้ง" ควรพิจารณา "ใช้ wsp"-โครงการเองไม่.

    แก้ปัญหาของฉันได้:

    – ผู้ดูแลระบบส่วนกลาง: ยกเลิกการแก้ปัญหา
    – หรือ: deletesolution
    – สตูดิโอภาพ => โครงการ => แพคเกจ
    – หรือ: addsolution-ไฟล์ ProjectbinDebugProject.wsp
    – หรือ: deploysolution-ชื่อ project.wsp-allowgacdeployment - ทันที-บังคับ
    – สตูดิโอภาพ => การจัดวาง

    นอกจากนี้ยังลบโฟลเดอร์ช่องเก็บและตรวจแก้จุดบกพร่องจากโครงการก่อนที่จะเรียกใช้การจัดวางอีก, อาจไม่มีผลใด ๆ แต่ น่าให้ข้อคิดเห็น.

    ใช้งานทั้ง

    "คุณลักษณะ … ไม่สามารถติดตั้งเนื่องจากการโหลดแอสเซมบลีรับเหตุการณ์"
    และ
    "ไม่สามารถสร้างวัตถุคุณลักษณะรับจากแอสเซมบลี"

    ขอขอบคุณ!
    Francisco

  3. Tom เซีย

    เพียงใช้เวลาไม่กี่ชั่วโมงพยายามที่จะแก้ไขปัญหาเดียวกันนี้ และพบโซลูชั่นที่ดีกว่าเพียงแค่สร้างโครงการ.

    มันเปิดออกที่ Visual Studio ได้ตั้งเป้าหมายสร้างการ 86 x แทน x 64 หรือ MSIL ด้วยเหตุผลบางอย่าง – มีแอสเซมบลีใน GAC การ, ไม่ GAC เดียวที่ 64 บิต SharePoint ถูกมองใน.

ปล่อยให้ตอบกลับ Francisco ยกเลิกการตอบ

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่. ช่องที่ต้องการถูกทำเครื่องหมาย *