ฉันมี Web Part แบบกำหนดเองหลายส่วนที่ฉันอยู่ในขั้นตอนการปรับใช้กับการใช้งานจริง ในระหว่างกระบวนการนี้ ฉันพบสิ่งเล็กๆ น้อยๆ ที่ต้องปรับแต่งในส่วนต่างๆ ในการปรับใช้โค้ดใหม่ ฉันได้สร้างแพ็คเกจโซลูชันใหม่ ปิดใช้งานแล้วลบฟีเจอร์ ถอนกลับแล้วลบโซลูชัน จากนั้นทำทุกอย่างอีกครั้งในลำดับย้อนกลับด้วยแพ็คเกจใหม่ ไม่จำเป็นต้องพูดว่าการดำเนินการนี้อาจใช้เวลานาน จำเป็นต้องลบ web part ออกทั้งหมดเพื่ออัปเกรดหรือไม่ หรือสามารถอัปเกรด web part/ฟีเจอร์/โซลูชันแทนได้หรือไม่
การอัปเกรด web part ของ SharePoint
คำตอบ (4)
ขึ้นอยู่กับว่าโซลูชันของคุณมีการเปลี่ยนแปลงอะไรบ้าง มีการดำเนินการ stsadm สำหรับการอัพเกรดโซลูชันโดยเฉพาะ แต่ก็มีข้อจำกัดบางประการในส่วนที่ต้องดูแล โดยเฉพาะอย่างยิ่งการลบคุณลักษณะเก่าออกและการเพิ่มคุณลักษณะใหม่ อย่างไรก็ตาม หากฟังก์ชันการทำงานใหม่ทั้งหมดของคุณมีอยู่ใน DLL ของ webpart การเรียกใช้การอัปเกรดโซลูชันจะปรับใช้การเปลี่ยนแปลงของคุณโดยคุณไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม
http://msdn.microsoft.com/en-us/library/aa543659.aspx
เราได้ใช้ส่วนขยาย Visual Studio 2008 สำหรับ Windows SharePoint Services 3.0, v1.3 - CTP มีนาคม 2552 มันทำให้เรามีปัญหาบางอย่าง แต่เมื่อคุณคุ้นเคยกับมันและให้แน่ใจว่าคุณทำสิ่งต่าง ๆ ตามลำดับที่ถูกต้อง มันก็จะได้ผล
เครื่องมือนี้ทำให้งานตอบกลับ / ลบ / ปรับใช้ / เปิดใช้งาน .... โดยอัตโนมัติ
อีกสิ่งหนึ่งที่เราพยายามทำคือรักษาฟังก์ชันการทำงานใน web part ให้น้อยที่สุดเท่าที่จะทำได้ ย้ายสิ่งที่สามารถย้ายไปยัง dll แยกกันได้ จากนั้นมักจะเป็นไปได้ที่จะอัปเกรดเพียงแค่จัดการกับ dll เวอร์ชันใหม่
หากคุณกำลังทำการเปลี่ยนแปลงเล็กน้อยใน web part ของคุณ คุณสามารถแทนที่ DLL ของ หาก เวอร์ชันแอสเซมบลียังคงเหมือนเดิม
แน่นอนว่าโปรดใช้วิจารณญาณเกี่ยวกับการเปลี่ยนแปลงเล็กน้อยและจะไม่ทำลายสิ่งใดๆ
ดูหัวข้อนี้สำหรับวิธีใช้ FileVersion และ AssemblyVersion อย่างถูกต้อง
โดยพื้นฐานแล้ว คุณจะเก็บ AssemblyVersion ไว้เหมือนเดิมสำหรับการอัปเดตเล็กๆ น้อยๆ ในขณะที่ FileVersion เปลี่ยนแปลงไปพร้อมกับการคอมไพล์
นี่คือวิธีที่ Microsoft ทำกับสิ่งต่าง ๆ เช่น Microsoft.SharePoint.dll - AssemblyVersion ได้รับการแก้ไขที่ 12.0.??? ในขณะที่ FileVersion เปลี่ยนแปลงไปตามทุกโปรแกรมแก้ไขด่วน/เซอร์วิสแพ็ค
โอ้ - ฉันเพิ่งอ่าน "ส่วนการผลิต" ของคำตอบของคุณ ทางลัดนี้อาจเหมาะสมกว่าสำหรับ Dev/Test มากกว่า QA/Production
ใช้สิ่งนี้
stsadm -o upgradesolution -name "WSPName.wsp" -filename "c:/WSPName.wsp" -immediate -allowgacdeployment -allowcaspolicies
จากนั้นรันงาน sharepoint
stsadm -o execadmsvcjobs
ในทางกลับกันคุณสามารถอัปเดต dll โดยใช้คำสั่ง SharePoint PowerShell
Set-location "C:\Users\Documents\WSP"
[System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
$publish = New-Object System.EnterpriseServices.Internal.Publish
$publish.GacInstall("C:\Users\Documents\WSP\wspcustom.dll")