เปลี่ยนชื่อเว็บส่วนหนึ่ง Namespaces (หรือ, หนึ่งในเหตุผลสำหรับ "Web Part หรือตัวควบคุมฟอร์มของเว็บบนเพจนี้ไม่สามารถแสดง หรือนำเข้า)”

ฉันได้ทำงานจะสับ dev ของฉันกลับมา และ ไปสิ้นสุดที่, งานโครงการงานอดิเรกที่มีบิตต่อไปนี้:

  • เชื่อมต่อ web part ที่ได้รับเว็บไซต์หรือ URL ของไซต์คอลเลกชันจากของกล่องส่วนเว็บ SharePoint ตัวกรองข้อความ.
  • Web part นี้ค้นหาข้อมูลทั้งหมดเกี่ยวกับการไซต์ที่เลือก, สร้างแพคเกจการ XML และมือออกไป WP อื่นบนหน้า (ผ่านการเชื่อมต่อ).
  • 3ถนนกันรับ XML และ XSL บางไม่แปลงสิ่ง.

อยากจะเปลี่ยนชื่อเนมสเปซของบิตทั้งหมดให้ "Nivlag" และฉันมีการตีค่าข้อผิดพลาดต่อไปนี้เมื่อฉันจัดวาง web part  ทดสอบของฉัน:

Web Part หรือตัวควบคุมฟอร์มของเว็บบนเพจนี้ไม่สามารถแสดง หรือนำเข้า  ไม่พบชนิด หรือมันไม่ปลอดภัยเป็น.

นี่คือปัญหาของผู้เริ่มต้น แต่ฉันคิดว่า ฉันจะจดบันทึกย่อบนนี้ต่อไป  ผมเกิดข้อผิดพลาดเมื่อฉันคลิกขวาบนพื้นที่ชื่อเริ่มต้น (ซึ่งค่าเริ่มต้นชื่อโครงการ), Refactor เลือกและเปลี่ยนชื่อแล้วเช่นนั้น:

image

ที่ไม่ได้เปลี่ยนชื่อในกลุ่มของสถานที่ในโครงการ, แต่ไม่เพียงพอ  คุณยังจำเป็นต้องทำการปรับปรุงอื่น ๆ หลาย:

1. เปิด และแก้ไขแฟ้มด้วยตนเอง, "ShaerPointProjectItem.spdata". ว่า XML ไฟล์ที่มีการ <SafeControls> ส่วนการ  ฟังก์ชันเปลี่ยนชื่อ namespace ไม่ทราบไฟล์นี้สำหรับเหตุผลใด ๆ ก็ตาม, ดังนั้น คุณต้องปรับปรุง Namespace มีด้วยตนเอง.

2. ด้วยตนเองแก้ไขแฟ้ม.webpart  สำหรับเหตุผลใด ๆ ก็ตาม, Visual Studio ไม่เปลี่ยนอ้างอิงนี้อย่างใดอย่างหนึ่ง  เปลี่ยนแปลง "<ชนิด>"โหนถึง namespace ของคุณเปลี่ยนแปลงมี.

3. สุดท้าย, ขึ้นอยู่กับวิธี refactored เปลี่ยน namespace, สตูดิโอภาพอาจได้ลงข้อความที่อ้างอิงแฟ้ม.ascx ของคุณที่นี่:

ส่วนตัว _ascxPath สายอักขระค่า const = @"~/_CONTROLTEMPLATES...

คุณอาจต้องเปลี่ยนไป  คุณจะได้เนื่องจากคุณจะได้รับข้อผิดพลาดคล้ายกับต่อไปนี้ เมื่อคุณพยายามเพิ่ม web part ลงในโซนส่วนเว็บในการ  หน้า:

ข้อผิดพลาดเซิร์ฟเวอร์ใน ' /’ แอพลิเคชัน.


แฟ้ม ' /_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ ไม่มีอยู่.

คำอธิบาย: เกิดข้อยกเว้นที่ไม่ได้จัดการในระหว่างการดำเนินการร้องขอเว็บปัจจุบัน. กรุณาตรวจทานสืบค้นกลับแถวสำหรับข้อมูลเพิ่มเติม เกี่ยวกับข้อผิดพลาด และที่มันมาในรหัส.
รายละเอียดข้อยกเว้น: System.Web.HttpException: แฟ้ม ' /_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ ไม่มีอยู่.
แหล่งข้อผิดพลาด:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

 

แก้ไขการอ้างอิงมี และคุณควรจะดีไป.

4. สุดท้าย, ASCX แฟ้มจริงยังมีการอ้างอิง (สำหรับฉัน) การ namespace เดิมเก่า (ฟังก์ชันการ refactor/เปลี่ยน ชื่อไม่ได้แก้ไขปัญหานี้).  คุณจะรู้เกี่ยวกับข้อผิดพลาดนี้เมื่อคุณพยายามเพิ่ม web part ไปยังเพจ และได้รับข้อความต่อไปนี้:

ข้อผิดพลาดเซิร์ฟเวอร์ใน ' /’ แอพลิเคชัน.


ข้อผิดพลาดตัวแยกวิเคราะห์

คำอธิบาย: เกิดข้อผิดพลาดในระหว่างการแยกวิเคราะห์ทรัพยากรที่จำเป็นให้บริการการร้องขอนี้. กรุณาตรวจทานรายละเอียดข้อผิดพลาดในการแยกวิเคราะห์เฉพาะต่อไปนี้ แล้วปรับเปลี่ยนแฟ้มต้นฉบับของคุณอย่างเหมาะสม.
ข้อผิดพลาดตัวแยกวิเคราะห์: ไม่สามารถโหลดชนิด 'RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl'.
แหล่งข้อผิดพลาด:

บรรทัด 6:  <%@ Namespace="Microsoft.SharePoint นำเข้า" %> 
บรรทัด 7:  <%@ Tagprefix ลงทะเบียน = "เพจของ web Part" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, รุ่น = 14.0.0.0, วัฒนธรรม =เป็นกลาง, PublicKeyToken = 71e9bce111e9429c" %>
บรรทัด 8:  <%@ภาษาควบคุม = "C#" AutoEventWireup = "จริง" CodeBehind="VisualWebPart1UserControl.ascx.cs" Inherits="RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl" %>

แฟ้มต้นฉบับ: /_CONTROLTEMPLATES/RenameNameSpace/VisualWebPart1/VisualWebPart1UserControl.ascx    บรรทัด: 8


ข้อมูลรุ่น: Microsoft .NET Framework รุ่น:2.0.50727.4927; รุ่น ASP.NET:2.0.50727.4927

แก้ไขแฟ้ม.ascx โดยตรง และแก้ไข namespace เสีย.

ณ จุดนี้, สุดท้ายมี web part อยู่ใน namespace ฉันเลือก.

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

One thought on“เปลี่ยนชื่อเว็บส่วนหนึ่ง Namespaces (หรือ, หนึ่งในเหตุผลสำหรับ "Web Part หรือตัวควบคุมฟอร์มของเว็บบนเพจนี้ไม่สามารถแสดง หรือนำเข้า)”

  1. Pingback: เข้ามาที่พูดถึงการเปลี่ยนชื่อเว็บส่วนหนึ่ง Namespaces (หรือ, หนึ่งในเหตุผลสำหรับ "Web Part หรือตัวควบคุมฟอร์มของเว็บบนเพจนี้ไม่สามารถแสดง หรือนำเข้า)"«Paul Galvin SharePoint พื้นที่ -- Topsy.com

ทิ้งคำตอบไว้

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