การอัปเกรด web part ของ SharePoint

ฉันมี Web Part แบบกำหนดเองหลายส่วนที่ฉันอยู่ในขั้นตอนการปรับใช้กับการใช้งานจริง ในระหว่างกระบวนการนี้ ฉันพบสิ่งเล็กๆ น้อยๆ ที่ต้องปรับแต่งในส่วนต่างๆ ในการปรับใช้โค้ดใหม่ ฉันได้สร้างแพ็คเกจโซลูชันใหม่ ปิดใช้งานแล้วลบฟีเจอร์ ถอนกลับแล้วลบโซลูชัน จากนั้นทำทุกอย่างอีกครั้งในลำดับย้อนกลับด้วยแพ็คเกจใหม่ ไม่จำเป็นต้องพูดว่าการดำเนินการนี้อาจใช้เวลานาน จำเป็นต้องลบ web part ออกทั้งหมดเพื่ออัปเกรดหรือไม่ หรือสามารถอัปเกรด web part/ฟีเจอร์/โซลูชันแทนได้หรือไม่


person Chris Tybur    schedule 04.08.2009    source แหล่งที่มา


คำตอบ (4)


ขึ้นอยู่กับว่าโซลูชันของคุณมีการเปลี่ยนแปลงอะไรบ้าง มีการดำเนินการ stsadm สำหรับการอัพเกรดโซลูชันโดยเฉพาะ แต่ก็มีข้อจำกัดบางประการในส่วนที่ต้องดูแล โดยเฉพาะอย่างยิ่งการลบคุณลักษณะเก่าออกและการเพิ่มคุณลักษณะใหม่ อย่างไรก็ตาม หากฟังก์ชันการทำงานใหม่ทั้งหมดของคุณมีอยู่ใน DLL ของ webpart การเรียกใช้การอัปเกรดโซลูชันจะปรับใช้การเปลี่ยนแปลงของคุณโดยคุณไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม

http://msdn.microsoft.com/en-us/library/aa543659.aspx

person Preston Guillot    schedule 04.08.2009
comment
stsadm -o upgradesolution คือสิ่งที่ฉันกำลังมองหา ฉันได้อ่านคำเตือนของมันแล้ว แต่ไม่มีข้อใดที่ใช้ได้กับสถานการณ์ปัจจุบันของฉัน ดังนั้นฉันจึงสามารถใช้มันได้อย่างปลอดภัย - person Chris Tybur; 06.08.2009

เราได้ใช้ส่วนขยาย Visual Studio 2008 สำหรับ Windows SharePoint Services 3.0, v1.3 - CTP มีนาคม 2552 มันทำให้เรามีปัญหาบางอย่าง แต่เมื่อคุณคุ้นเคยกับมันและให้แน่ใจว่าคุณทำสิ่งต่าง ๆ ตามลำดับที่ถูกต้อง มันก็จะได้ผล

http://www.microsoft.com/downloads/details.aspx?FamilyID=FB9D4B85-DA2A-432E-91FB-D505199C49F6&displaylang=en

เครื่องมือนี้ทำให้งานตอบกลับ / ลบ / ปรับใช้ / เปิดใช้งาน .... โดยอัตโนมัติ

อีกสิ่งหนึ่งที่เราพยายามทำคือรักษาฟังก์ชันการทำงานใน web part ให้น้อยที่สุดเท่าที่จะทำได้ ย้ายสิ่งที่สามารถย้ายไปยัง dll แยกกันได้ จากนั้นมักจะเป็นไปได้ที่จะอัปเกรดเพียงแค่จัดการกับ dll เวอร์ชันใหม่

person Shiraz Bhaiji    schedule 04.08.2009

หากคุณกำลังทำการเปลี่ยนแปลงเล็กน้อยใน web part ของคุณ คุณสามารถแทนที่ DLL ของ หาก เวอร์ชันแอสเซมบลียังคงเหมือนเดิม

แน่นอนว่าโปรดใช้วิจารณญาณเกี่ยวกับการเปลี่ยนแปลงเล็กน้อยและจะไม่ทำลายสิ่งใดๆ

ดูหัวข้อนี้สำหรับวิธีใช้ FileVersion และ AssemblyVersion อย่างถูกต้อง

โดยพื้นฐานแล้ว คุณจะเก็บ AssemblyVersion ไว้เหมือนเดิมสำหรับการอัปเดตเล็กๆ น้อยๆ ในขณะที่ FileVersion เปลี่ยนแปลงไปพร้อมกับการคอมไพล์

นี่คือวิธีที่ Microsoft ทำกับสิ่งต่าง ๆ เช่น Microsoft.SharePoint.dll - AssemblyVersion ได้รับการแก้ไขที่ 12.0.??? ในขณะที่ FileVersion เปลี่ยนแปลงไปตามทุกโปรแกรมแก้ไขด่วน/เซอร์วิสแพ็ค

โอ้ - ฉันเพิ่งอ่าน "ส่วนการผลิต" ของคำตอบของคุณ ทางลัดนี้อาจเหมาะสมกว่าสำหรับ Dev/Test มากกว่า QA/Production

person Ryan    schedule 05.08.2009

ใช้สิ่งนี้

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")
person Ahmad Hindash    schedule 17.09.2015